Pyecharts折线图(Line)中dataZoom(区域缩放)的使用实例

我在用Pyecharts绘制折线图(Line)时,横坐标是年份,我要展示1995-2024年的每年的数据,由于数据过多横坐标很长,因此我考虑用dataZoom(区域缩放)功能。

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

# 示例数据
x_axis = ["2002", "2003", "2004", "2005", "2006", "2007", "2008", "2009", "2010", "2011", "2012", "2013", "2014",
          "2015", "2016", "2017", "2018", "2019", "2020", "2021", "2022",
          "2023", "2024"]
y_axis = [12, 10, 8, 9, 5, 12, 15, 10, 15, 12, 18, 20, 22, 25, 28, 30, 32, 35, 35, 30, 29, 24]

# 创建 Line 图表对象
line = (
    Line()
    .set_global_opts(
        tooltip_opts=opts.TooltipOpts(trigger='axis', is_show=True),
        xaxis_opts=opts.AxisOpts(type_="category", name='年份', is_scale=True),
        datazoom_opts=opts.DataZoomOpts(type_='slider', range_start=0, range_end=100),
        yaxis_opts=opts.AxisOpts(
            axistick_opts=opts.AxisTickOpts(is_show=True),
            splitline_opts=opts.SplitLineOpts(is_show=True),
            name="上榜数"
        ),
        title_opts=opts.TitleOpts(title="我校历年高考考入清北人数折线图"),
        toolbox_opts=opts.ToolboxOpts(
            feature=opts.ToolBoxFeatureOpts(
                save_as_image=opts.ToolBoxFeatureSaveAsImageOpts(),
                data_view=opts.ToolBoxFeatureDataViewOpts(is_show=True),
                magic_type=opts.ToolBoxFeatureMagicTypeOpts(is_show=True),
                restore=opts.ToolBoxFeatureRestoreOpts(is_show=True),
                data_zoom=opts.ToolBoxFeatureDataZoomOpts(is_show=True)
            )
        )
    )
    .add_xaxis(xaxis_data=x_axis)
    .add_yaxis(
        series_name="清北上榜数",
        y_axis=y_axis,
        label_opts=opts.LabelOpts(is_show=False),
    )
)


# 渲染图表到 HTML 文件
line.render("year_distribution_line_chart.html")

print("图表已生成并保存为 year_distribution_line_chart.html")

效果如下所示:

Pyecharts绘制多段折线图在一副图上(Line),可以通过多次调用 add_yaxis 方法来在一个图表上绘制多段折线图。每段折线图可以有不同的颜色和标签。下面是一个示例代码,展示了如何在一个图表上绘制多段折线图。

绘制多段折线代码如下:

line = (
    Line()
    .add_xaxis(xaxis_data=years)
    .add_yaxis(
        series_name="北大上榜数",
        y_axis=y_axis_beida,
        label_opts=opts.LabelOpts(is_show=False),
        color="#FF7F50"  # 北大折线的颜色
    )
    .add_yaxis(
        series_name="清华上榜数",
        y_axis=y_axis_qinghua,
        label_opts=opts.LabelOpts(is_show=False),
        color="#6495ED"  # 清华折线的颜色
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title="历年高考考入北大和清华人数折线图"),
        datazoom_opts=opts.DataZoomOpts(type_='slider', range_start=0, range_end=100),
    )
)

   dataZoom 提供了动态交互的功能,使得图表更加灵活和用户友好。数据量很大时,图表可能会显得拥挤且难以阅读。通过 dataZoom,用户可以选择显示特定的数据范围,从而提高图表的可读性和清晰度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值