我有以下图表:
我想在图表的右侧添加带标签的自定义刻度,以识别虚线水平线。我怎么能这样做?
答案 0 :(得分:4)
ax = gca()
ax.axhline(.5, linestyle='--')
trans = matplotlib.transforms.blended_transform_factory(
ax.transAxes,
ax.transData)
ax.annotate('label', xy=(1.01, .5), xycoords=trans, clip_on=False, va='center')
ax.set_xlim([0,2])
plt.draw()
有关混合变换的详细信息,请参阅here。 x坐标是以轴为单位的(所以它总是只是向右一点,而y坐标是数据单位,所以你可以把它准确地放在你想要的位置。放入刻度线没有多大意义在右边,因为你的虚线会掩盖它们。
答案 1 :(得分:0)
如果您想要新的比例,请使用twinx()
。
fig = plt.figure()
ax = []
ax.append(fig.add_subplot(111))
ax.append(ax[0].twinx())
ax[0].plot(...)
ax[1].set_yticks([...])
ax[1].set_yticklabels([...])
plt.show()
如果您只想要一个标签,请使用text
内容,如@tcaswell所写。