为什么这个matplotlib图中的x轴是隔开的?

bvjveswy  于 2023-02-05  发布在  其他
关注(0)|答案(1)|浏览(109)

我对python还是个新手,刚刚开始使用 matplotlib 绘图,使用下面的代码,我可以绘制出这样的图:

x轴上的数字并不代表数值,而是代表样本名称。因此,它们不需要像原来那样隔开。我想通过将DataFrame中的"Sample"变量设置为"category",可以解决这个问题,但没有成功。我认为问题出在ax.bar后面的"Sample"参数上。但我还不知道如何解决这个问题。

# Make Sample a categorial variable instead of numeric
DataFrame['Sample'] = DataFrame['Sample'].astype('category')

#Define Unique samples
samples = DataFrame["Sample"].unique()

#Initiate plot
fig,ax = plt.subplots()

for sample in samples:
    sample_df = DataFrame[DataFrame["Sample"] == sample]
    ax.bar(sample, sample_df["Nucleus_Count"].mean(), yerr = sample_df["Nucleus_Count"].std())
    
ax.set_ylabel("Count")
ax.set_xticks(samples)
plt.show()
p1tboqfb

p1tboqfb1#

如果没有数据,我无法真正重现您的问题,但我建议尝试.astype(str)而不是.astype('category')
获取正确数据的另一种方法是使用np.unique(some_array, return_counts=True) . See here for more

相关问题