我正在浏览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)在整个图形中添加一条线,虽然我只想要更粗的刻度
由于
答案 0 :(得分:2)
你快到了。只需使用ymin
的其他参数ymax
和axvline
来设置标记长度:
ymin, ymax = axes.get_ylim()
axes.axvline(7, ymin=ymin, ymax=ymin + 0.05*(ymax - ymin))
请注意,我自动计算刻度长度为轴高度的5%。这当然可以调整。此外,axvline
函数需要更多参数来设置,例如线宽。