【问题标题】:Python: Remove from excel chart legend if value==0Python:如果值 == 0,则从 excel 图表图例中删除
【发布时间】:2017-02-01 23:35:42
【问题描述】:

我正在使用 xlsxwriter 制作饼图。我有很多行,我想要绘制的列的值为零。如果值为零,是否可以从图例中删除? 因此,例如,在以下情况下,我不想在图例中显示 Umbro 和 Fila

我的add_series 函数应该是什么样的? 我在这里什么都没看到:https://media.readthedocs.org/pdf/pandas-xlsxwriter-charts/latest/pandas-xlsxwriter-charts.pdf

【问题讨论】:

  • FWIW,如果您有超过三个数据点,请不要使用饼图。有更好的图表可以做到这一点,例如水平条。对数据进行排序以在顶部绘制最高值。如果需要,过滤掉零,

标签: python excel charts xlsxwriter


【解决方案1】:

用于从图表图例中删除系列名称的 XlsxWriter API 是 set_legend()see the XlsxWriter docsdelete_series 属性:

# Delete/hide series index 0 and 2 from the legend.
# i.e., Series 1 and 3 from a 3 series chart.
chart.set_legend({'delete_series': [0, 2]})

您需要确定哪些系列项目的值为零。

注意,为了避免或增加混淆,值得指出的是 Excel 中的饼图与其他图表略有不同。饼图引用系列中的每个点,就好像它本身就是一个系列一样。这就是为什么每个点都会出现在图例上。

【讨论】:

  • 谢谢!我可以向它发送要删除的列表或索引数组吗?尝试了各种方法,但似乎无法向其发送已删除的列表。同样循环遍历单个数组的列表似乎也只实现了最后一次删除
  • 我不太明白。上面的例子使用了一个列表,不是吗?你问如何生成列表?我可能会使用列表推导来生成列表。也许将其作为一个单独的问题提出。
  • 嗨,JMC,请帮助使用饼图来抑制零值以及类别 - stackoverflow.com/questions/47069256/…
猜你喜欢
  • 2019-11-21
  • 2018-05-31
  • 1970-01-01
  • 2021-11-06
  • 1970-01-01
  • 1970-01-01
  • 2022-01-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多