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

使用for循环绘制多幅ggplot图时设置不同标题的问题

解决循环绘图时标题重复的问题

核心思路

  • 建立巡航编号与对应标题的映射字典,明确每个巡航对应的季节年份关联关系
  • 循环迭代时,根据当前处理的巡航编号,从字典中取出对应标题赋值给图表

示例代码

假设你的数据按巡航编号分组,以下是可运行的修正示例:

import matplotlib.pyplot as plt
import pandas as pd

# 模拟你的数据结构
sample_data = pd.DataFrame({
    'cruise_num': [17, 17, 17, 44, 44, 44],
    'x_data': [1, 2, 3, 1, 2, 3],
    'y_data': [5, 7, 9, 6, 8, 10]
})

# 关键:定义巡航编号到标题的映射
cruise_title_map = {
    17: "Summer 2018",
    44: "Summer 2019"
    # 后续新增巡航直接在此添加键值对即可
}

# 按巡航编号分组批量绘图
for cruise_id, data_subset in sample_data.groupby('cruise_num'):
    plt.figure(figsize=(8, 6))
    plt.plot(data_subset['x_data'], data_subset['y_data'], marker='s')
    # 从映射字典中获取当前巡航的专属标题
    plt.title(cruise_title_map[cruise_id], fontsize=12)
    plt.xlabel('X轴名称')
    plt.ylabel('Y轴名称')
    plt.grid(alpha=0.3)
    plt.show()

常见问题排查

  • 若标题仍重复,检查循环中是否正确获取了当前迭代的巡航编号,避免误用循环外的固定值
  • 担心巡航编号不在字典中报错,可改用get方法设置默认标题:plt.title(cruise_title_map.get(cruise_id, f"Cruise {cruise_id}"))
  • 确认所有绘图代码都在循环内部执行,避免仅创建一次图表后重复修改内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 12:13:14