You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

仅导入Pandas,如何在for循环中生成多个独立图表?

解决Pandas循环绘图仅生成单图的问题

问题原因

Pandas的plot()方法默认会复用当前已有的matplotlib绘图轴(Axes),当循环中多次调用绘图时,后续的图会直接叠加到同一个画布上,最终只显示一个图表。

解决方案

在每次调用plot()时添加newfig=True参数,强制创建新的独立画布(Figure),无需显式导入matplotlib即可生成多个独立图表。

修改后的示例代码

针对你提供的第二个示例,修改后代码如下:

import pandas as pd

data = {'C1': ['A', 'A', 'B', 'B'], 
        'C2': [i for i in range(4)],
        'C3': [1,2,1,2]}
df = pd.DataFrame(data)
for n in [1,2]:
  df[df.C3 == n].groupby('C1').C2.sum().plot(kind='bar', newfig=True)

该参数会让每次绘图都生成全新的画布,彻底避免图表叠加的问题,且全程无需引入matplotlib库。

内容的提问来源于stack exchange,提问作者wannik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 22:22:13