pyecharts学习

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")

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值