Проблемы с тикером оси X подзаголовков в MatplotLib - PullRequest
1 голос
/ 13 июля 2020

Я боролся с этим некоторое время и решил, что пора приехать сюда. По сути, у меня есть два графика, и они в полном порядке, за исключением одной вещи, оси x. По какой-то причине ось X одного подзаголовка выходит идеально, а ось другого - нет. Вот мой код:

## BAR PLOTS
#expected value vs probability of choosing option1

fig,ax = plt.subplots(1, 2,  dpi=320)




data.plot(kind='bar', y='value_1', ax=ax[0],  color ='red')
data.plot(kind='bar', y='p_1', ax=ax[1],  color ='blue')

#ax.set_xlabel("Trials")
#ax.set_ylabel("Value 1 / P_1")

#plt.xticks(np.arange(0, len('value_1')+1, 5), np.arange(0, len('value_1')+1, 5) ) 

#ticks = range(0, 500, 5)
#labels = ticks
#plt.xticks(ticks, labels)
plt.xticks(np.arange(0, len(data.value_1)+1, 5), np.arange(0, len(data.value_1)+1, 5) ) 
# plt.xticks(np.arange(0, len(data.p_1)+1, 5), np.arange(0, len(data.p_1)+1, 5) ) 
#ax.legend(["Value 1, P_1"])
plt.title(' Expected Vs. Probability')

fig.savefig("figure.pdf")

plt.show()

Вот результат:

введите описание изображения здесь

1 Ответ

1 голос
/ 13 июля 2020

Попробуйте использовать set_xticks для каждого массива ax:

ax[0].set_xticks(np.arange(0, len(data.value_1)+1, 5))
ax[1].set_xticks(np.arange(0, len(data.value_1)+1, 5))

Поскольку вы не предоставили данные, я не могу это проверить, но в принципе set_xticks должен работать для каждого массива ax.

...