如何用不同的标签在两边打勾

时间:2017-10-31 16:04:14

标签: python matplotlib

我是matplotlib的新手。我已经能够整理下面的情节:

enter image description here

我使用左侧的轴刻度标签:

plot.yticks([n + 0.5 for n in range(len(endIDs))], endIDs)

我发现我必须添加到0.5,以使其更好地居中。但只有当条目变得很多时,我才不确定原因。但我想要的是在右侧有一个相应的轴打印一些信息。我选择了一个看似如下的循环:

plot.text(1.0, (index + 0.5) / len(endIDs), eachText, horizontalalignment='left', verticalalignment='center', transform=ax.transAxes)

但他们并不排队。使用右侧标签与左侧刻度线对齐的最佳技术是什么?我实际上并不需要第二个轴,我只想在右边使用相同的轴/刻度,但使用不同的标签。

(如果重要的话我会使用Python3)

更新

我现在转移到以下内容,而不是使用pyplot.yticks和一堆text展示位置:

fig, axLeft = plot.subplots()
axLeft.set_yticks(range(len(endIDs)))
axLeft.set_yticklabels(endIDs)
axRight = axLeft.twinx()
axRight.set_yticks(range(len(endIDs)))
axRight.set_yticklabels(missRates)

不幸的是,它仍然产生类似于上面的输出,其中左侧似乎在端部插入并与实际绘图系列对齐,但右侧从一个角到另一个角没有插入。这很奇怪,因为我给了两个轴完全相同的set_yticks参数。

0 个答案:

没有答案