Excel中含百余种代码组的长格式数据多折线图格式设置方法
长格式大数据量多折线图快速制作方案
Excel 快速操作
- 选中全部数据(含表头),直接插入带数据标记的折线图,Excel会自动识别长格式结构:把Date设为X轴,Quantity设为Y轴,自动按Code分组生成每条折线
- 要是没自动识别,右键图表→「选择数据」,在对话框里把Code设为图例系列,Date设为水平轴标签就行
- 上百个Code的图例太挤?右键图例→「设置图例格式」,改成垂直排列或者挪到图表外侧
Python 代码实现(Pandas + Seaborn)
不用转置宽格式,Seaborn直接支持长格式数据分组绘图:
import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # 读入数据,转日期格式 df = pd.read_csv('your_data.csv') df['Date'] = pd.to_datetime(df['Date']) # 绘图核心代码 plt.figure(figsize=(12, 6)) sns.lineplot(data=df, x='Date', y='Quantity', hue='Code') # 优化显示 plt.xlabel('日期') plt.ylabel('数量') plt.title('各代码组数量趋势') plt.xticks(rotation=45) plt.tight_layout() plt.show()
hue='Code'是关键,自动按Code分组画折线,数据量再大也能处理- 线条太密分不清?加个
style='Code'用不同线型区分,或者提前过滤掉不重要的Code
R 代码实现(ggplot2)
ggplot2原生适配长格式数据,几行代码搞定:
library(ggplot2) library(lubridate) # 读入并处理日期 df <- read.csv('your_data.csv') df$Date <- ymd(df$Date) # 绘图 ggplot(df, aes(x = Date, y = Quantity, color = Code)) + geom_line() + labs(x = "日期", y = "数量", title = "各代码组数量趋势") + theme(axis.text.x = element_text(angle = 45, hjust = 1))
color = Code指定按Code配色分组,自动生成每条折线- 代码组太多配色乱?用
scale_color_viridis_d()换个配色方案,或者用dplyr::filter()筛选重点Code
内容的提问来源于stack exchange,提问作者runningtrumpet
相关产品推荐
相关产品推荐

