2

我有以下图表: Matplotlib 图

我想在图表的右侧添加带有标签的自定义刻度,以识别水平虚线。我怎样才能做到这一点?

4

2 回答 2

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()

有关混合变换的详细信息,请参见此处。x 坐标是轴单位(所以它总是稍微向右一点,y 坐标是数据单位,所以你可以把它放在你想要的地方。放入刻度没有多大意义在右边,因为你的虚线会覆盖它们。

于 2013-04-10T14:50:14.730 回答
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 所写,如果您只想要一个标签,请使用一个东西。

于 2013-04-10T14:38:48.523 回答