我是matplotlib的新手。我已经能够整理下面的情节:
我使用左侧的轴刻度标签:
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
参数。