首页 > 解决方案 > 如何在 pygal 中添加垂直的 x 轴线?

问题描述

我想放入一个类似于 matplotlib 中提供的以下内容的 axspan,以便我的图表中有一条垂直线来指出一个位置。这是使用 pygal 的折线图

plt.axvspan(fin_loc, fin_loc+1, color='red', alpha=0.5)

标签: pygal

解决方案


似乎pygal不支持其图表上的自定义附加图纸。

然而,垂直线可以用XY类型的图表绘制。例如:

chart = pygal.XY()
chart.add('Here is axvspan', [(1, -5), (1, 5)])

pygal也不支持在一张图纸上使用多种图表类型。

因此,您可以使用解决方法绘制垂直线和折线图:将折线图替换为 XY 图表类型,绘制垂直线,然后绘制折线图。由于 XY 图表需要为每个点提供两个值,因此您可以使用虚拟的连续 X 值对其进行输入。例如,而不是:

chart = pygal.Line()
chart.add('Chart1', [16, 25, 31])

你写:

chart = pygal.XY()
chart.add('Here is axvspan', [(1, -5), (1, 5)])
chart.add('Chart1', [(1, 16), (2, 25), (3, 31)])

就是这样!


推荐阅读