强制pyplot直方图的xaxis(python、pandas)

2024-06-07 22:57:18 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我有一个叫做vc的数据,看起来像这样

这是一次记分。分数范围从0到40

但是,如下图所示,只有少数具有实际计数。我无法使直方图具有我想要的x轴

d = {'count': [9, 30, 6, 2,3,1,1,4,1,1,2,2,6,3]}
vc = pd.DataFrame(data=d, index=[12,13,14,15,17,18,19,20,21,22,23,24,25,26])

vc
      index   count
        12       9
        13      30
        14       6
        15       2
        17       3
        18       1
        19       1
        20       4
    ...and so on

我想制作一个x轴为0到40的直方图,如下:histogram I want

然而,我的直方图并没有显示零计数的分数

vc=vc.sort_index()
ax = vc.plot(kind='bar', legend=False)
ax.set_xlabel("score")
ax.set_ylabel("count")
ax.set_xticks(range(0,40,5))

结果直方图:enter image description here

如何在第一幅图像中生成所需的直方图? 我已经试了好几个小时,但不幸失败了。。多谢各位


Tags: and数据dataframedataindexsocountax
1条回答
网友
1楼 · 发布于 2024-06-07 22:57:18

也许这不是一个非常聪明的解决方案,但您可以根据需要绘制空白区域,然后绘制计数表:

import pandas as pd
import matplotlib.pyplot as plt 

d = {'count': [9, 30, 6, 2,3,1,1,4,1,1,2,2,6,3]}
vc = pd.DataFrame(data=d, index=[12,13,14,15,17,18,19,20,21,22,23,24,25,26])
plt.bar(x=np.arange(10,40),height=0)
plt.bar(vc.index.to_list(),vc['count'])

enter image description here

相关问题 更多 >

    热门问题