1.知识点截图
2.练习题
练习1
from pyecharts.charts import Line
from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts,TooltipOpts
line = Line()
line.add_xaxis(["中国", "美国", "英国"])
line.add_yaxis("GDP", [30, 20, 10])
line.set_global_opts(
title_opts=TitleOpts(title="practice", pos_left="center", pos_bottom="1%"),
# legend_opts=LegendOpts(is_show=True),
toolbox_opts=ToolboxOpts(is_show=True),
visualmap_opts=VisualMapOpts(is_show=True),
# tooltip_opts=TooltipOpts(is_show=True)
)
line.render("简单折线图.html")
练习2
import json
from pyecharts.charts import Line
from pyecharts.options import TitleOpts, ToolboxOpts, LabelOpts
# 打开文件
us_f = open("C:/Users/lenovo/Desktop/美国.txt", "r", encoding="UTF-8")
jp_f = open("C:/Users/lenovo/Desktop/日本.txt", "r", encoding="UTF-8")
in_f = open("C:/Users/lenovo/Desktop/印度.txt", "r", encoding="UTF-8")
# 读取文件
us_data = us_f.read()
jp_data = jp_f.read()
in_data = in_f.read()
# 去掉开头部分的无效文字
us_data = us_data.replace("jsonp_1629344292311_69436(", "")
jp_data = jp_data.replace("jsonp_1629350871167_29498(", "")
in_data = in_data.replace("jsonp_1629350745930_63180(", "")
# 去掉结尾部分的无效文字
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)
# 只选取我们想要的部分
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轴坐标
x_data = us_trend_data['updateDate'][:314]
# 设置y轴坐标
us_y_data = us_trend_data['list'][0]['data'][:314]
jp_y_data = jp_trend_data['list'][0]['data'][:314]
in_y_data = in_trend_data['list'][0]['data'][:314]
# 生成表格
line = Line()
# 将数据添加到表格上
line.add_xaxis(x_data)
line.add_yaxis("美国数据", us_y_data, label_opts=LabelOpts(is_show=False))
line.add_yaxis("日本数据", jp_y_data, label_opts=LabelOpts(is_show=False))
line.add_yaxis("印度数据", in_y_data, label_opts=LabelOpts(is_show=False))
# 设置全局配置项
line.set_global_opts(
title_opts=TitleOpts(title="美日印三国疫情数据", pos_left="center", pos_bottom="1%"),
toolbox_opts=ToolboxOpts(is_show=True)
)
# 输出表格
line.render("美日印三国疫情数据.html")
# 关闭文件
us_f.close()
jp_f.close()
in_f.close()
练习3
import json
from pyecharts.charts import Map
from pyecharts.options import *
f = open("C:/Users/lenovo/Desktop/疫情.txt", "r", encoding="UTF-8")
data = f.read()
data = json.loads(data)
f.close()
data = data["areaTree"][0]["children"]
data_list = []
for province in data:
# province_name = province["name"]+"省"
if province["name"] == "北京" or province["name"] == "上海" or province["name"] == "重庆" or province["name"] == "天津":
province_name = province["name"] + "市"
elif province["name"] == "香港" or province["name"] == "澳门":
province_name = province["name"] + "特别行政区"
elif province["name"] == "内蒙古" or province["name"] == "西藏":
province_name = province["name"] + "自治区"
elif province["name"] == "广西":
province_name = province["name"] + "壮族自治区"
elif province["name"] == "宁夏":
province_name = province["name"] + "回族自治区"
elif province["name"] == "新疆":
province_name = province["name"] + "维吾尔自治区"
else:
province_name = province["name"] + "省"
province_number = province["total"]["confirm"]
data_list.append((province_name, province_number))
map = Map()
map.add("地图", data_list, "china")
map.set_global_opts(
title_opts=TitleOpts(is_show=True),
toolbox_opts=ToolboxOpts(is_show=True),
visualmap_opts=VisualMapOpts(
is_show=True,
is_piecewise=True,
pieces=[
{"min": 1, "max": 99, "label": "1-99人", "color": "#CCFFFF"},
{"min": 100, "max": 999, "label": "100-999人", "color": "#FFFF99"},
{"min": 1000, "max": 4999, "label": "1000-4999人", "color": "#FF9966"},
{"min": 5000, "max": 9999, "label": "5000-9999人", "color": "#FF6666"},
{"min": 10000, "label": "10000以上", "color": "#CC3333"}
]
)
)
map.render("全国疫情地图.html")
练习4
import json
from pyecharts.charts import Map
from pyecharts.options import *
f = open("C:/Users/lenovo/Desktop/疫情.txt", "r", encoding="UTF-8")
data = f.read()
data = json.loads(data)
f.close()
data = data["areaTree"][0]["children"][3]["children"]
data_list = []
for city in data:
city_name = city["name"]+"市"
city_number = city["total"]["confirm"]
data_list.append((city_name,city_number))
data_list.append(("济源市",5))
map = Map()
map.add("地图",data_list,"河南")
map.set_global_opts(
title_opts=TitleOpts(is_show=True),
toolbox_opts=ToolboxOpts(is_show=True),
visualmap_opts=VisualMapOpts(
is_show=True,
is_piecewise=True,
pieces=[
{"min": 1, "max": 99, "label": "1-99人", "color": "#CCFFFF"},
{"min": 100, "max": 999, "label": "100-999人", "color": "#FFFF99"},
{"min": 1000, "max": 4999, "label": "1000-4999人", "color": "#FF9966"},
{"min": 5000, "max": 9999, "label": "5000-9999人", "color": "#FF6666"},
{"min": 10000, "label": "10000以上", "color": "#CC3333"}
]
)
)
map.render("河南省疫情地图.html")