折线图
json数据格式
什么是json
JSON是一种轻量级的数据交互格式。可以按照JSON指定的格式去组织和封装数据
JSON本质上是一个带有特定格式的字符串
主要功能: json就是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互.类似于:
国际通用语言-英语
中国56个民族不同地区的通用语言-普通话
json格式可以是字典,也可以是列表不过此时列表里面的元素必须是字典格式。
Python数据和JSON数据的相互转换
import json
data=[{'nanme':'xkk','age':16},{'nanme':'dj','age':36},{'nanme':'kyb','age':46}]
json_str=json.dumps(data)
print(type(json_str))
print(json_str)
结果
<class ‘str’>
[{“nanme”: “xkk”, “age”: 16}, {“nanme”: “dj”, “age”: 36}, {“nanme”: “kyb”, “age”: 46}]
json转列表
s='[{"nanme":"xkk","age":16},{"nanme":"dj","age":36},{"nanme":"kyb","age":46}]'
l=json.loads(s)
print(type(l),l)
结果
<class 'list'> [{'nanme': 'xkk', 'age': 16}, {'nanme': 'dj', 'age': 36}, {'nanme': 'kyb', 'age': 46}]
链接: pycharts
链接: pycharts-画廊
pyecharts模块介绍
pyecharts模块
●如果想要做出数据可视化效果图,可以借助pyecharts模块来完成
概况︰
Echarts是个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可.而Python是门富有表达力的语言,很适合用于数据处理.当数据分析遇上数据可视化时pyecharts诞生了.
pyecharts快速入门
pyecharts有哪些配置选项
pyecharts模块中有很多的配置选项,常用到2个类别的选项:
全局配置选项
系列配置选项
from pyecharts.charts import Line
from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts
line=Line()
line.add_xaxis(["中国","美国","英国"])
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()
数据处理
JSON数据处理链接: 懒人工具网站
创建折线图
import json
from pyecharts.charts import Line
from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts,LabelOpts
us=open("E:/桌面文件/美国.txt","r",encoding="UTF-8")
ja=open("E:/桌面文件/日本.txt","r",encoding="UTF-8")
id=open("E:/桌面文件/印度.txt","r",encoding="UTF-8")
us_data=us.read()
ja_data=ja.read()
id_data=id.read()
us_data=us_data.replace("jsonp_1629344292311_69436(","")
ja_data=ja_data.replace("jsonp_1629350871167_29498(","")
id_data=id_data.replace("jsonp_1629350745930_63180(","")
us_data=us_data[:-2:]
ja_data=ja_data[:-2:]
id_data=id_data[:-2:]
us_data_dict=json.loads(us_data)
ja_data_dict=json.loads(ja_data)
id_data_dict=json.loads(id_data)
ustrend_data=us_data_dict["data"][0]["trend"]
jatrend_data=ja_data_dict["data"][0]["trend"]
idtrend_data=id_data_dict["data"][0]["trend"]
x_data=ustrend_data["updateDate"][:314:]
usy_data=ustrend_data["list"][0]["data"][:314:]
jay_data=jatrend_data["list"][0]["data"][:314:]
idy_data=idtrend_data["list"][0]["data"][:314:]
line=Line()
line.add_xaxis(x_data)
line.add_yaxis("美国确诊人数",usy_data,label_opts=LabelOpts(is_show=False))
line.add_yaxis("日本确诊人数",jay_data,label_opts=LabelOpts(is_show=False))
line.add_yaxis("印度确诊人数",idy_data,label_opts=LabelOpts(is_show=False))
line.set_global_opts(
title_opts=TitleOpts(title="2020美日印疫情确诊人数",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()
us.close()
ja.close()
id.close()