求问:未知时序折线图的名称、Python实现方法及样例代码
问题解答
1. 图表官方名称
这是带填充区域的时序面积图(Time Series Area Chart),属于时序折线图的变体,核心是在折线与坐标轴基线之间添加填充色,更直观展示数值随时间的趋势与累积特征。
2. Python生成方法与所需数据集类型
数据集类型
需要时序结构化数据集,包含至少两类字段:
- 时间字段:
datetime类型的时间戳、可转换为datetime的日期字符串,或连续的时间步序号(如天/小时编号) - 数值字段:对应每个时间点的连续型观测值(如销售额、温度等)
生成思路
Python中常用matplotlib、seaborn或plotly实现,核心逻辑是先绘制时序折线,再用填充函数(如matplotlib的fill_between)为折线与基线间的区域添加颜色。
3. 复刻示例效果的Python代码
以下是用matplotlib实现的代码,模拟附图的单时序带填充效果:
import matplotlib.pyplot as plt import pandas as pd import numpy as np # 生成模拟时序数据集 np.random.seed(42) dates = pd.date_range(start='2023-01-01', end='2023-12-31', freq='D') # 生成带趋势+周期性波动的数值,贴近附图平滑效果 values = 100 + np.cumsum(np.random.randn(len(dates))*0.5) + np.sin(np.linspace(0, 6*np.pi, len(dates)))*10 df = pd.DataFrame({'date': dates, 'value': values}) # 绘图 plt.figure(figsize=(12,6)) # 绘制主折线 plt.plot(df['date'], df['value'], color='#2c3e50', linewidth=2) # 添加填充区域 plt.fill_between(df['date'], 0, df['value'], color='#3498db', alpha=0.3) # 调整样式匹配示例 plt.title('时序面积图示例', fontsize=14) plt.xlabel('日期', fontsize=12) plt.ylabel('数值', fontsize=12) plt.grid(axis='y', linestyle='--', alpha=0.7) plt.xticks(rotation=45) plt.tight_layout() plt.show()
代码说明
- 用
numpy生成带趋势和周期性波动的模拟数据,还原附图的平滑波动特征 fill_between控制填充区域范围,alpha参数调整填充透明度- 通过网格、坐标轴旋转等设置,复刻示例的简洁视觉风格
若需更贴近附图的配色或细节,可调整color参数的RGB值,或添加边框隐藏等样式设置。
内容的提问来源于stack exchange,提问作者matplotstuck
相关产品推荐
相关产品推荐

