Pyecharts 折线堆叠图数据序列和坐标轴不对应的问题

在用 pyecharts 练手的时候,尝试用下表中的数据构造一份折线堆叠图

在这里插入图片描述

year_line = Line().add_xaxis(summary.columns.to_list())
# year_line = Line().add_xaxis([1,2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,13])

for i in range(4):
    year_line.add_yaxis(str(i+2012),
                       stack='销量', # 堆叠参数,会使数据在坐标轴上堆叠不相交
                       y_axis=summary.iloc[i].values.tolist(),
                       is_smooth=True
                       )

year_line.set_global_opts(
        tooltip_opts=opts.TooltipOpts(trigger="axis"),
        yaxis_opts=opts.AxisOpts(
            type_="value",
            axistick_opts=opts.AxisTickOpts(is_show=True),
            splitline_opts=opts.SplitLineOpts(is_show=True),
        ),
        xaxis_opts=opts.AxisOpts(type_="category", boundary_gap=False),
    )
year_line.render_notebook()

然而输出的图表发现图中的数据序列并不是从 1 开始,而是偏移一个单位从 0 或 2 开始,并且如果 x 轴长度变短会导致图中数据缺失。

在这里插入图片描述

上图是我手动扩充了 x 轴的序列后的结果,虽然数据显示完全了,但数据序列和 x 轴依然不对应。对照着官方文档和示例,在一个多小时的时间里,不断尝试各种可能的配置项和参数。

最终发现问题在于 x 轴序列参数的数据类型上。上面不论是转换生成列表或者是手动输入的列表,其中元素的数据类型都是 int,对照官方示例上传递的元素数据类型为字符串 str ,进行更改后才输出预期结果。

year_line = Line().add_xaxis(['一月','二月','三月','四月','五月','六月',
							'七月','八月','九月','十月','十一月','十二月'])

在这里插入图片描述

总结:在排除了语法和参数错误的情况下,仍然无法得到预期结果,问题有可能出现在变量的数据类型和维度上

毕竟 python 作为动态语言,其变量的类型声明一直是被吐槽的点。

最后附上 pyecharts 官方文档和示例:

文档

https://pyecharts.org/#/zh-cn/

示例

https://gallery.pyecharts.org/#/README

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值