df.hist()绘制直方图时自定义figsize不生效如何解决
问题原因
df.hist()是pandas封装的matplotlib绘图接口,默认会自动创建独立的新画布实例,不会复用你提前通过plt.figure()生成的画布。你提前设置的figsize参数作用在了没有任何绘图内容的空画布上,所以才会出现空画布提示with 0 Axes,实际展示的直方图网格用的是df.hist()默认尺寸的画布,修改plt.figure的参数自然不会生效。
最简单的解决方法
直接将figsize参数传入df.hist()方法内即可,无需提前创建画布:
import matplotlib.pyplot as plt # 直接在hist方法中指定尺寸 df.hist(figsize=(10,12)) plt.show()
如果有自定义画布的其他需求(比如要和其他子图组合),也可以主动把自己创建的axes实例传入df.hist()的ax参数:
import matplotlib.pyplot as plt fig, ax = plt.subplots(figsize=(10,12)) df.hist(ax=ax) plt.show()
内容的提问来源于stack exchange,提问作者letdatado
相关产品推荐
相关产品推荐

