python使用标记为x轴的连续整数绘制频率
我正试图根据下表制作一个具有特殊x轴要求的频率图python使用标记为x轴的连续整数绘制频率,python,pandas,matplotlib,plot,Python,Pandas,Matplotlib,Plot,我正试图根据下表制作一个具有特殊x轴要求的频率图 pos freq 0 67 1 1 285 5 2 288 1 3 397 4 4 592 1 5 640 3 因为我的频率本身是整数(pos列),所以我希望x轴只带有
pos freq
0 67 1
1 285 5
2 288 1
3 397 4
4 592 1
5 640 3
因为我的频率本身是整数(pos列),所以我希望x轴只带有普通的连续数字标签。但是,对于简单的条形图:
plot_pos=pos_freq.plot(kind='bar',x='pos')
我只会得到标有67285288397592640的x轴。相反,我希望x轴是一系列连续整数/区间,例如60、65、70、75、.645650;频率条仍显示在正确的位置
在这一点上,我不确定条形图是否是一个好的选择,而且我对python绘图是新手。(我可以在excel中完成;或者我可能可以添加另一个x轴…)任何关于更好方法的建议都将不胜感激 又快又脏:
pos_freq.reindex(range(pos_freq['pos'].min(), pos_freq['pos'].max())).plot(kind='bar')
使用
matplotlib
import matplotlib.pyplot as plt
plt.bar(pos_freq['pos'], pos_freq['freq'])
plt.show()
我无法使用dataframe.plot()获取x标签,因此我直接使用matplotlib
import matplotlib.pyplot as plt
ticks = range(0,700,5) #this could whatever interval you wanted
fig, ax = plt.subplots()
ax.bar(pos_freq["pos"],pos_freq["freq"])
ax.set_xticks(ticks)
你可能想用这些多余的蜱虫把这个弄大一点
fig.set_size_inches(30,10.5)
进一步的解释会有帮助的!谢谢@8one6,但我无法运行您的代码-我想您可能错过了“)”。非常感谢您的评论。与其他方法相比,这有点慢。谢谢!我被不同的绘图选项弄糊涂了。感谢您指出matplotlib模块:)感谢您的解决方案,我非常喜欢您提到的技巧:)