Python Xaxis文本重叠-Matplotlib

Python Xaxis文本重叠-Matplotlib,python,python-2.7,python-3.x,matplotlib,Python,Python 2.7,Python 3.x,Matplotlib,我使用matplotlib绘制条形图,一切正常。当X轴上的“文本标签”对于每个数据点来说都太长时,文本就会重叠,如图所示。我还尝试将对齐旋转到45度和90度,但文本超出了框架 X = [1,2,3,4,5,6] Y = [55,46,46,36,27,9] point_labels =[50,38,25,6,6,6] fig, axes = plt.subplots(1) ax2 = axes n=7 ind=np.arange(n) width=0.1 axis_font = {'fontna

我使用matplotlib绘制条形图,一切正常。当X轴上的“文本标签”对于每个数据点来说都太长时,文本就会重叠,如图所示。我还尝试将对齐旋转到45度和90度,但文本超出了框架

X = [1,2,3,4,5,6]
Y = [55,46,46,36,27,9]
point_labels =[50,38,25,6,6,6]
fig, axes = plt.subplots(1)
ax2 = axes
n=7
ind=np.arange(n)
width=0.1
axis_font = {'fontname':'Arial', 'size':'11'}
Color = ['0.1','0.2','0.3','0.4','0.5','0.6']

bar = ax2.bar(X,Y,align="center",width=0.5,color=Color)
bar[0].set_color('r')

plt.xticks(ind+width/2, ('','Insufficient skills','Complex hardware and software','High initial investments','Complexity in collection and storing data','Insufficient hardware power for computing','Data collaboration'),horizontalalignment='center')

plt.ylabel('in precentage (%)')

text(4.6,52, '100% = 11 responses', style='italic',bbox={'facecolor':'red', 'alpha':0.5, 'pad':10})

axes.yaxis.grid()
axes.set_ylim([0,60])

plt.show()


有人能提出解决这个问题的建议吗?

我能想到的最好办法是将旋转设置为垂直,更改图形延伸,然后运行
plt.tight\u layout()
。 这将是代码的最后3行:

mngr = plt.get_current_fig_manager()
mngr.window.setGeometry(50,50,960, 640)
plt.tight_layout()
或者,您应该将多行与
\n
一起使用。 看见

我能想到的最好办法是将旋转设置为垂直,更改图形延伸,然后运行
plt.tight\u layout()
。 这将是代码的最后3行:

mngr = plt.get_current_fig_manager()
mngr.window.setGeometry(50,50,960, 640)
plt.tight_layout()
或者,您应该将多行与
\n
一起使用。 看见
下面的解决方案对我有效


下面的解决方案对我有效


你不能添加一个图例来代替axis标签吗?@giosans如果我找不到解决方案,那将是我最后的方法。。但我相信这件事肯定会有解决办法的!你不能添加一个图例来代替axis标签吗?@giosans如果我找不到解决方案,那将是我最后的方法。。但我相信这件事肯定会有解决办法的!