Pandas DataFrame分组绘图时如何标识各窗口对应分组名
解决方案
groupby().plot()的链式调用逻辑是批量生成绘图对象,没有给每个独立窗口匹配对应分组参数的入口,你之前传入全量groups字典作为标题的写法,相当于把所有分组信息同时传给了两个窗口,自然无法正确区分。
手动遍历分组逐一生成画布即可解决,代码如下:
import matplotlib.pyplot as plt for func_code, group_df in delta_rx_tx_df.groupby("Function_code"): # 为当前分组创建独立窗口 plt.figure() # 绘制数据,标题直接绑定当前分组的Function_code取值 group_df.plot( x="Timestamp", y="Delta", title=f"Function_code: {func_code}" ) # 可选:自动调整布局,避免x轴时间戳标签重叠 plt.tight_layout() plt.show()
补充说明
- 运行后两个窗口分别对应
Tx_PDO_2和Tx_PDO_3数据,窗口标题直接标注对应类别,不会混淆 - 如果需要调整坐标轴标签、线条颜色、图例样式,直接在循环内给plot传对应参数即可,灵活度远高于直接调用groupby的plot方法
内容的提问来源于stack exchange,提问作者Dryade
相关产品推荐
相关产品推荐

