自学内容网 自学内容网

Line: 折线图

对北京市、天津市、上海市、重庆市的近10年人口,做出折线图,效果

参考:Line - Basic_line_chart - Document (pyecharts.org)

1、折线图模板

import pyecharts.options as opts
from pyecharts.charts import Line

x_data = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
y_data = [820, 932, 901, 934, 1290, 1330, 1320]

(
    Line()
    .set_global_opts(
        tooltip_opts=opts.TooltipOpts(is_show=False),
        xaxis_opts=opts.AxisOpts(type_="category"),
        yaxis_opts=opts.AxisOpts(
            type_="value",
            axistick_opts=opts.AxisTickOpts(is_show=True),
            splitline_opts=opts.SplitLineOpts(is_show=True),
        ),
    )
    .add_xaxis(xaxis_data=x_data)
    .add_yaxis(
        series_name="",
        y_axis=y_data,
        symbol="emptyCircle",
        is_symbol_show=True,
        label_opts=opts.LabelOpts(is_show=False),
    )
    .render("basic_line_chart.html")
)

2、具体实现

# -*- coding: gbk -*-
import pyecharts.options as opts
from pyecharts.charts import Line

# 创建Line对象 折线图对象
line=Line()
# 打开文件
f=open("分省年度数据.csv","r",encoding="gbk")
# 读取所有的行数据
line_datas=f.readlines()
f.close()

# 先删除前面的三个行(元素)
for _ in range(3):
    line_datas.pop(0)

# 得到 X轴 的数据
x_data_year=line_datas.pop(0).replace("\n","").split(",")
x_data_year.pop(0)
x_data_year.reverse()

# 得到 Y轴 的数据
# 这里有四组数据,分别是北京、上海、天津、重庆的近10年的人口数据
# 创建四个列表,存放北京、上海、天津、重庆的近10年的人口数据
y_data_bj=[]
y_data_sh=[]
y_data_tj=[]
y_data_cq=[]

# 遍历 line_datas 得到北京、上海、天津、重庆的近10年的人口数据
for line_data in line_datas:
    line_data=line_data.replace("\n","").split(",")
    if line_data[0]=="北京市":
        line_data.pop(0)
        line_data.reverse()
        y_data_bj=line_data
    elif line_data[0]=="上海市":
        line_data.pop(0)
        line_data.reverse()
        y_data_sh = line_data
    elif line_data[0]=="天津市":
        line_data.pop(0)
        line_data.reverse()
        y_data_tj = line_data
    elif line_data[0]=="重庆市":
        line_data.pop(0)
        line_data.reverse()
        y_data_cq = line_data

# 添加 X轴的数据
line.add_xaxis(x_data_year)

# 添加 Y轴的数据
line.add_yaxis("北京市历年人口",y_data_bj,label_opts=opts.LabelOpts(is_show=False))
line.add_yaxis("上海市历年人口",y_data_sh,label_opts=opts.LabelOpts(is_show=False))
line.add_yaxis("天津市历年人口",y_data_tj,label_opts=opts.LabelOpts(is_show=False))
line.add_yaxis("重庆市历年人口",y_data_cq,label_opts=opts.LabelOpts(is_show=False))

# 设置全局配置项
line.set_global_opts(title_opts=opts.TitleOpts(title=
    "2014-2023年直辖市总人口折线图",pos_left="center",pos_bottom="1%"))

# 生成文件
line.render("line_4city_population.html")


原文地址:https://blog.csdn.net/2303_80050865/article/details/142706765

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!