如何在Excel中制作多年份散点图?两类细分图表需求
两类散点图制作技术方案
Excel原生操作方案
第一类:月份vs% Gas年度趋势散点图
- 数据预处理:确认
Month字段为1-12的数值(或可识别的月份文本),Year为2018-2022的年份值,% Gas为数值格式。 - 插入基础散点图:选中
Year、Month、% Gas三列所有数据,点击「插入」→「散点图」→「仅带数据标记的散点图」。 - 按年份区分颜色:
- 右键图表→「选择数据」,点击「添加」,为每个年份单独创建数据系列:
- 系列名称:选中对应年份的单元格(如2018)
- X轴系列值:框选该年份所有
Month数据 - Y轴系列值:框选该年份所有
% Gas数据
- 逐个选中各年份系列,右键→「设置数据系列格式」,在「填充与线条」中设置独特的标记颜色。
- 右键图表→「选择数据」,点击「添加」,为每个年份单独创建数据系列:
- 优化X轴显示:右键X轴→「设置坐标轴格式」,将最小值设为1、最大值设为12,刻度间隔设为1;在「数字」选项卡选自定义格式,输入
mmm将数字1-12转为Jan-Dec文本标签。
第二类:Demand vs% Gas散点图
- 插入基础散点图:选中
Demand、% Gas、Year三列数据,插入「仅带数据标记的散点图」。 - 按年份区分颜色:重复上述添加年份系列、设置颜色的操作。
- 调整坐标轴:根据Demand数据范围,设置X轴的最小值和最大值,确保所有数据点完整展示。
Python自动化实现方案
适合数据量较大或需要批量生成图表的场景:
依赖安装
pip install pandas matplotlib seaborn
代码示例
import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # 读取Excel数据,替换为你的文件路径 df = pd.read_excel("your_data_file.xlsx") # 将年份转为字符串,确保分组区分 df['Year'] = df['Year'].astype(str) # 生成第一类散点图:月份vs% Gas plt.figure(figsize=(10, 6)) sns.scatterplot(data=df, x='Month', y='% Gas', hue='Year', palette='tab10', alpha=0.6) plt.xlabel('Month') plt.ylabel('% Gas') plt.title('% Gas Trend by Month (2018-2022)') plt.xticks(ticks=range(1,13), labels=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']) plt.grid(True, alpha=0.3) plt.show() # 生成第二类散点图:Demand vs% Gas plt.figure(figsize=(10, 6)) sns.scatterplot(data=df, x='Demand', y='% Gas', hue='Year', palette='tab10', alpha=0.6) plt.xlabel('Demand') plt.ylabel('% Gas') plt.title('% Gas vs Demand (2018-2022)') plt.grid(True, alpha=0.3) plt.show()
代码说明:利用seaborn的scatterplot可直接通过hue参数按年份自动区分颜色,无需手动拆分系列,效率更高;alpha参数调整点的透明度,避免数据重叠时看不清。
内容的提问来源于stack exchange,提问作者pkl775
相关产品推荐
相关产品推荐

