数据可视化-Python

师从黑马程序员

Json的应用

Json的概念

Json的作用

Json格式数据转化

Python数据和Json数据的相互转化

注:把字典列表变为字符串用dumps,把字符串还原回字典或列表用loads

import json

#准备列表,列表内每一个元素都是字典,将其转化为Json
data=[{"name":"张大仙","age":11},{"name":"王大锤","age":13},{"name":"赵小虎","age":16}]
json_str=json.dumps(data,ensure_ascii=False)
"""
如果包含中文要添加ensure_ascii=False,让内容正确的展示出来
"""
print(type(json_str))
print(json_str)

#准备字典,将字典转化为JSON
d={"name":"周杰伦","addr":"台北"}
json_str=json.dumps(d,ensure_ascii=False)
print(type(json_str))
print(json_str)


#将JSON字符串转化为Python数据类型[{k:v,k:v},{k:v,k:v}]
s='[{"name":"张大仙","age":11},{"name":"王大锤","age":13},{"name":"赵小虎","age":16}]'
l=json.loads(s)
print(type(l))
print(l)


#将JSON字符串转化为Python数据类型{k:v,k:v}
s='{"name":"周杰伦","addr":"台北"}'
d=json.loads(s)
print(type(d))
print(d)

pyechart模块介绍

pyecharts入门使用

基础折线图

#导包
from pyecharts.charts import Line
#创建一个折线图对象
line =Line()
#给折线图对象添加x轴的数据
line.add_xaxis(["中国","美国","英国"])
#给折线图对象添加y轴的数据
line.add_yaxis("GDP",[30,20,10])
#设置全局配置项
line.render()

pycharts的配置选项

全局配置选项

系列配置选项

set_global_opts方法

#导包
from pyecharts.charts import Line
from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts
#创建一个折线图对象
line =Line()
#给折线图对象添加x轴的数据
line.add_xaxis(["中国","美国","英国"])
#给折线图对象添加y轴的数据
line.add_yaxis("GDP",[30,20,10])
#设置全局配置项
line.set_global_opts(
    title_opts=TitleOpts(title="GDP展示",pos_left="center",pos_bottom="1%"),
    legend_opts=LegendOpts(is_show=True),
    toolbox_opts=ToolboxOpts(is_show=True),
    visualmap_opts=VisualMapOpts(is_show=True),
)




line.render()

数据处理

import json
from pyecharts.charts import Line
from pyecharts.options import TitleOpts,LabelOpts
#处理数据
f_us=open("D:/美国.txt","r",encoding="UTF-8")
us_data=f_us.read()#美国的全部内容

f_jp=open("D:/日本.txt","r",encoding="UTF-8")
jp_data=f_jp.read()#日本的全部内容

f_in=open("D:/印度.txt","r",encoding="UTF-8")
in_data=f_in.read()#美国的全部内容

#去掉不合JSON规范的开头
us_data=us_data.replace("jsonp_1629344292311_69436(","")#美国
jp_data=jp_data.replace("jsonp_1629350871167_29498(","")#日本
in_data=in_data.replace("jsonp_1629350745930_63180(","")#印度

#去掉不合JSON规范的结尾
us_data=us_data[:-2]#美国
jp_data=jp_data[:-2]#日本
in_data=in_data[:-2]#印度

#JSON转Python字典
us_dict=json.loads(us_data)
jp_dict=json.loads(jp_data)
in_dict=json.loads(in_data)

#获取trand key
us_trend_data=us_dict['data'][0]['trend']
jp_trend_data=jp_dict['data'][0]['trend']
in_trend_data=in_dict['data'][0]['trend']

#获取日期数据,用于x轴,取2020年(到314结束)
us_x_data=us_trend_data['updateDate'][:314]
jp_x_data=us_trend_data['updateDate'][:314]
in_x_data=us_trend_data['updateDate'][:314]

#获取确认数据,用于y轴,取2020年(到314结束)
us_y_date=us_trend_data['list'][0]['data'][:314]
jp_y_date=jp_trend_data['list'][0]['data'][:314]
in_y_date=in_trend_data['list'][0]['data'][:314]

#生成图表
line=Line()#构建折线图对象

#添加x轴数据
line.add_xaxis(us_x_data)

#添加y轴数据
line.add_yaxis("美国确诊人数",us_y_date,label_opts=LabelOpts(is_show=False))
line.add_yaxis("日本确诊人数",jp_y_date,label_opts=LabelOpts(is_show=False))
line.add_yaxis("印度确诊人数",in_y_date,label_opts=LabelOpts(is_show=False))

#设置全局选项
line.set_global_opts(
    #标题设置
    title_opts=TitleOpts(title="美日印三国确诊人数对比折线图",pos_left="center",pos_bottom="1%")
)

#调用render方法,生成图表
line.render()

#关闭文件对象
f_us.close()
f_in.close()
f_jp.close()

若有侵权,请联系作者

相关推荐

  1. Python 数据

    2024-04-01 07:34:01       29 阅读
  2. Python数据:绘制折线图

    2024-04-01 07:34:01       36 阅读
  3. python爬虫数据

    2024-04-01 07:34:01       40 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-01 07:34:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-01 07:34:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-01 07:34:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-01 07:34:01       20 阅读

热门阅读

  1. node.js 常用命令

    2024-04-01 07:34:01       11 阅读
  2. Kimball维度模型之迟到的事实

    2024-04-01 07:34:01       15 阅读
  3. Node.js中的导入导出

    2024-04-01 07:34:01       15 阅读
  4. U8二次开发CO-基于Net8调用COM对象

    2024-04-01 07:34:01       14 阅读
  5. 系统分析师-综合知识-应用数学与经济管理

    2024-04-01 07:34:01       20 阅读
  6. Qt和Boost::asio中的emit冲突

    2024-04-01 07:34:01       17 阅读
  7. Bug积累

    2024-04-01 07:34:01       14 阅读
  8. leetcode350-Intersection of Two Arrays II

    2024-04-01 07:34:01       14 阅读
  9. 天童美语:防患未然 安全同行

    2024-04-01 07:34:01       14 阅读
  10. 3DTiles讲解

    2024-04-01 07:34:01       12 阅读
  11. 设计模式-单例模式总结

    2024-04-01 07:34:01       13 阅读
  12. CF 937 G. Shuffling Songs

    2024-04-01 07:34:01       15 阅读