由于我有一个非常长的字符串标签和一个轴的其他一些较短的标签,我想将长标签放在外面,将短标签放在轴内。这可能吗?
一个基本的例子是:
fig, ax = plt.subplots()
ax.boxplot(np.random.randn(100), vert=0)
longlabs = ['foofoofoofoofoofoofoo']
shortlabs= ['bar']
ax.yaxis.set_ticklabels(longlabs)
在哪里/如何将shortlabs
放在轴的内侧?
答案 0 :(得分:1)
您可以这样做:
longlabs = ['foofoofoofoofoofoofoo bar']
ax.yaxis.set_ticklabels(longlabs,position=(0.06,0))
但我认为你应该对长文本使用垂直对齐:
ax.yaxis.set_ticklabels(longlabs, rotation='vertical')
希望这有帮助
答案 1 :(得分:1)
ticklabels与标签不同。这个例子看起来很好的技巧:
ax.yaxis.set_label_coords(.05,0.5)
ax.yaxis.set_label_text('foooooooooooooooooooooo\n\nbar')