如何在matplotlib中的2行上打勾

时间:2015-06-11 16:33:03

标签: python matplotlib multiline axes

如何处理matplotlib中的多行x刻度?

让我更具体一点。我想要一套2行的刻度。我设法已经使用\n做了一些事情,但由于文本居中,我对结果不满意。

您可以在下面的示例中看到LUT和FF没有很好地居中。

这是图片:

enter image description here

以下是代码的一部分:

plt.xlabel('Application')
plt.xticks(index + 5*bar_width, ('LUT~~~~~FF\nADPCM', 'LUT~~~~~FF\nAES', 'LUT~~~~~FF\nBF', 'LUT~~~~~FF\nGSM', 'LUT~~~~~FF\nDECODER', 'LUT~~~~~FF\nIDCT', 'LUT~~~~~FF\nMPEG2', 'LUT~~~~~FF\nSHA'))
plt.legend(loc=0,prop={'size':9},ncol=2)

#plot limits
# Hide the right and top spines
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
# Only show ticks on the left and bottom spines
ax.yaxis.set_ticks_position('left')
ax.xaxis.set_ticks_position('bottom')
#Manually set ticks
ax.yaxis.set_ticks([100,500,1000,5000,10000,50000,100000])
minorLocator = MultipleLocator(1)
ax.xaxis.set_minor_locator(minorLocator)
#enabling grid
ax.yaxis.grid(True,linestyle='-.')
# x grid
ax.xaxis.grid(True,which='minor',linewidth=0.7,linestyle='-')
ax.xaxis.set_tick_params(which='major',width=0.5,length=18,direction='out')
ax.xaxis.set_tick_params(which='minor',width=0.7,length=30,direction='out')
ax.set_axisbelow(True)

plt.tight_layout()
plt.savefig('area.pdf')

我对第2行不感到自豪如果你知道我的意思。

我希望与图像具有相同的行为,但使用" subicks"以他们的位置为中心。

提前致谢。

0 个答案:

没有答案