Python“万水千山图”—山峦图/嵴线图/峰峦图
山峦图/嵴线图/峰峦图(Ridgeline Plot),通过使用核密度估计(KDE)或直方图来表示各组数据的分布特征,并在纵轴上将各分布分组排列。
山峦图是CNS等顶级期刊中的常客,例如《Nature》,
山峦图也常常出现在报刊杂志中,例如《BBC》,
Python matplotlib可以很简单的实现山峦图,先来看一下效果图:
数据准备
主要是读入weather数据并使用pandas转换。
# 数据准备
months = weather.index.month_name().unique() # 获取数据索引中的唯一月份名称samples = [[
weather[weather.index.month_name() == month]["最低温度(F)"],
weather[weather.index.month_name() == month]["最高温温度(F)"],
] for month in months] # 按月份构建一个包含最低温度和最高温度的列表
Python matplotlib实现山峦图
这里展示分组山峦图,使用Python matplotlib及其扩展包实现,核心代码,
# 绘制山脊图
fig = ridgeplot(
samples=samples, # 输入样本数据
labels=months, # 为每条曲线指定对应的月份标签
bandwidth=4, # 设置核密度估计的平滑带宽
kde_points=np.linspace(-40, 110, 400), # 设置核密度估计的计算点范围和分辨率
spacing=0.4, # 设置曲线之间的间距
colorscale=["#006a8e", "#b1283a"], # 设置颜色渐变,从蓝色到红色
colormode="trace-index-row-wise", # 按行顺序为不同曲线分配颜色
)
红色展示当年当月最低温度变化,蓝色展示当年当月最高温度变化。
本期内容「绘图数据+代码+代码详细解释」已上传👉Python matplotlib保姆级教程
👇加入学习(备注:399),