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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值