有没有办法在matplotlib图的轴上添加线条

时间:2014-08-26 01:40:22

标签: matplotlib

我正在浏览matplotlib的文档,目的是添加一个分隔轴的刻度线

http://matplotlib.org/api/axes_api.html

我已经有一个与刻度列表相关联的标签

axes._setXTicks(ticks, labels, **kwargs)

所以我想要一个更粗的线来获得额外的刻度,这样的事情会很棒

axes._setXTicks([0, 5, 7, 10, 15], ["0","5", "thicker tick", "10", "15], **kwargs)

虽然我希望较粗的刻度线实际上是一个更宽但没有标签的刻度线

这可能。

我已经尝试查看文档,但我找到的最接近的是

axes.axvline(7, *args, **kwargs)

在第x个位置(本例中为7)在整个图形中添加一条线,虽然我只想要更粗的刻度

由于

1 个答案:

答案 0 :(得分:2)

你快到了。只需使用ymin的其他参数ymaxaxvline来设置标记长度:

ymin, ymax = axes.get_ylim()
axes.axvline(7, ymin=ymin, ymax=ymin + 0.05*(ymax - ymin))

请注意,我自动计算刻度长度为轴高度的5%。这当然可以调整。此外,axvline函数需要更多参数来设置,例如线宽。