У меня есть следующий код (для краткости убрана большая часть пуха):
# Assign 'aInf' to the DataFrame called 'dfDis'
dfDis = pd.DataFrame(aDis, columns=cols)
dfDis.columns = ['Year', 'Type', 'Total']
try:
dfDisB = pd.pivot_table(dfDis, index=['Year'], columns = ['Type'],aggfunc= 'sum',fill_value=0)
dfDisB.columns = [x[1] for x in dfDisB.columns]
dfDisC = dfDisB.fillna(0)
dfFinalDis = dfDisC.reindex(dfDisC.sum().sort_values(ascending=False).index, axis=1)
# This is a dictonary of dissemination with a colour assigned to it
colorDict = {**** cut ****}
# Change the font
plt.rcParams["font.family"] = "Gill Sans MT"
axDis = dfFinalDis.plot.bar(stacked=True, color=[colorDict.get(x, '#333333') for x in dfFinalDis.columns],
figsize=(10, 8))
plt.legend(loc='upper right', bbox_to_anchor=(0.6, -0.3), frameon=False)
plt.title(items1)
# Hide the spines
for spine in axDis.spines:
axDis.spines[spine].set_visible(False)
# Hide the tick marks
axDis.tick_params(axis=u'both', which=u'both', length=0)
# Move the x label down slightly
axDis.xaxis.labelpad = 25
# Make new folder
newpath = r'C://Users//{}//Desktop//{}_RFPlots'.format(staName2, itemsGraph)
if not os.path.exists(newpath):
os.makedirs(newpath)
# Show plot
plt.savefig('C://Users//{}//Desktop//{}_RFPlots//Dissemination.png'.format(staName2, itemsGraph), bbox_inches='tight')
Он производит это:

На оси x обрезана метка 'invalid', что странно, так как у меня около 10 или около того диаграмм, и ни один из остальных не делает этого.
Я пыталсяэта ссылка: Почему мой xlabel отключен в моем сюжете matplotlib?
И ни одно из решений не работает.
Пока я пишу это, я думаю, что возможноэто делается для того, чтобы он соответствовал длине других столбцов, то есть длине 4 цифры, но я нигде не устанавливаю длину, и, как уже упоминалось, у меня есть другие диаграммы, работающие нормально.
Любая помощь будет высоко ценится