Python MatplotLib中子地块x轴标记器的问题

Python MatplotLib中子地块x轴标记器的问题,python,matplotlib,graph,seaborn,xticks,Python,Matplotlib,Graph,Seaborn,Xticks,我已经为此挣扎了一段时间,我想是时候来这里了。基本上,我有两个子图被绘制出来,它们都很好,除了一件事,x轴。出于某种原因,一个子地块的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]

我已经为此挣扎了一段时间,我想是时候来这里了。基本上,我有两个子图被绘制出来,它们都很好,除了一件事,x轴。出于某种原因,一个子地块的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()
以下是输出:


尝试为每个ax阵列使用SETxtick:

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))

由于您没有提供数据,我无法检查这一点,但原则上,集合_xticks应适用于每个ax阵列。

您仅在第二个绘图上调用
xticks
。在
数据之间插入相同的调用。绘图
调用,或执行
ax[0]。设置图标(…)
我按照建议在绘图之间插入了相同的调用,但没有执行任何操作。知道为什么吗?提前谢谢你的帮助。我从中得到以下错误:Users/Programming/opt/anaconda3/envs/PST_env/lib/python3.7/site packages/ipykernel_launcher.py:9:MatplotlibDeprecationWarning:从Matplotlib 3.2开始,不推荐按位置传递set_xticks()的次要参数;该参数将在两个次要版本之后变为关键字。if name='main':代码:``fig,ax=plt.subplot(1,2,dpi=320)data.plot(kind='bar',y='value'u 1',ax=ax[0],color='red')ax[1]。set_xticks(np.arange(0,len(data.value'u 1)+1,5),np.arange(0,len(data.value'u 1)+1,5)data.plt(kind='bar',y='p='p''u'u'1',ax ax ax ax ax ax ax ax ax ax ax ax x=ax.xticks(np arange)(np arange(data.arange,leng(data.0,leng(data.arange,leng)plt)pl(data.p_1)+1,5)plt.xticks([1,5,10,15,20,25,30,35,45,50])plt.margins(0.2)plt.subplot_adjust(bottom=0.15)plt.title('Expected Vs.Probability')fig.savefig(“figure.pdf”)plt.show()我现在有3.1版,您没有提供测试数据,但我可以问一下为什么使用元组吗?为什么不使用一个数组:np.arange(0,len(data.value_1)+1,5))?为什么要输入2个数组?…我根据上面的评论编辑了我的答案。这有用吗?