DataFrame直方图绘制问题:如何显示图形而非AxesSubplot对象地址
解决pandas直方图仅返回Axes对象不显示图形的问题
嘿,这个问题我之前也碰到过!其实核心原因很简单——matplotlib默认不会自动渲染并显示图形,尤其是在普通脚本文件里运行代码时,只调用df.plot(kind='hist')只会创建绘图对象,但不会把它可视化出来。下面给你几种靠谱的解决方法:
方法1:调用matplotlib的show()方法(通用方案)
这是最通用的解决方案,不管你是在脚本还是交互式环境里都能用:
- 先导入matplotlib的pyplot模块:
import matplotlib.pyplot as plt
- 执行你的绘图代码:
df.plot(kind='hist')
- 最后调用
show()方法触发图形显示:
plt.show()
方法2:在Jupyter/IPython环境中使用魔法命令
如果你是在Jupyter Notebook或者IPython终端里运行代码,可以用魔法命令让图形自动显示,不用每次都写plt.show():
- 想要静态内嵌的图形,在代码开头加上:
%matplotlib inline
- 想要交互式的可缩放图形,改用:
%matplotlib widget
之后直接执行df.plot(kind='hist'),图形就会自动显示出来啦。
额外小提示:确认你的需求是直方图还是条形图
你提到X轴是{A,B,C,D}这类类别值,这里需要注意:直方图(hist)是用来展示数值型数据的分布情况,而如果你的X轴是类别,想要展示每个类别对应的数值大小,其实更适合用条形图(bar),只需要把kind参数改成'bar'即可:
df.plot(kind='bar') plt.show() # 同样需要这个步骤,除非用了魔法命令
内容的提问来源于stack exchange,提问作者user8650813
相关产品推荐
相关产品推荐

