首页 > 解决方案 > 箱线图和散点图:消失的 X 刻度

问题描述

我有一些数据可以制作散点图:

df_1 = pd.DataFrame({'X':[3,3,3,3],
                     'Y':[1,2,3,4]})

以及更多数据以在相同的轴上制作箱形图:

np.random.seed(1234)
df_2 = pd.DataFrame(np.random.randn(10,1),
                   columns=['Y'])

df_2['X'] = [2,2,3,3,3,2,2,2,2,2]

我试过了:

# Scatter
ax = df_1.plot.scatter(x='X',
                       y='Y',
                       c='k',
                       s=100)

props = dict(linewidth=4)

# Boxplot
ax = df_2.boxplot(by='X',
                  boxprops     = props,
                  medianprops  = props,
                  whiskerprops = props,
                  capprops     = props,
                  ax=ax)

plt.suptitle("")
ax.set_title("")
plt.xlabel('X')
plt.ylabel('Y')

font = {'weight' : 'normal',
        'size'   : 30}
plt.rc('font', **font)

plt.xlim([0,4])

fig = plt.gcf()
fig.set_size_inches(10,7)

plt.show()

但我得到了:

在此处输入图像描述

我的 x 轴没有显示它的所有刻度,并且它显示的那些在错误的位置。请问如何校正x轴?

标签: pythonpandasboxplot

解决方案


我试过了:

plt.xticks([0,1,2,3,4],[0,1,2,3,4])

这给了我:

在此处输入图像描述

这已经更正了 x 轴,但箱形图仍然位于错误的位置。


推荐阅读