一、概念介绍

嵴线图(ridgeline plot),用来展示同一维度的几个数据的分布情况,每一层嵴线(峰峦)都是一个直方图或者密度图,层层堆叠形成了最终的嵴线图。

· 嵴线图一般用于多类别(>5) 的连续变量数值分布对比,也因此,如果某一个数据的取值区间过小或者分布平均时,波动不易察觉,且影响图形呈现的视觉美观。

图形示例:

我们需要了解的是:嵴线图的横坐标是数值分布区间,更像我们常使用的y轴;而纵坐标是每一个数值序列的类标;嵴线的波峰代表在对应值分布集中, 频率高。


二、数据展示

在本案例中,我们希望通过嵴线图展示随机选择的八座城市在过去一年的日最高温最低温分布情况。

数据来源于广州11月份天气|广州11月份气温|广州2021年11月份历史天气—全球天气网

借助了爬虫工具,我们简便地收集了2020-12至2021-11的日度数据,得到如下excel集合

每一个excel表格的数据呈现如下:

同一版数据,对于气候类型也绘制了马赛克图~

感兴趣的朋友可戳https://blog.csdn.net/qq_45400322/article/details/122522620


三、数据读入

import pandas as pd
city8_fullname_py = ['beijing','chongqing','wuhan','shenzhen','nanjing','guangzhou','chengdu','shanghai']
city8_fullname = ['北京','重庆','武汉','深圳','南京','广州','成都','上海']weather_dic = {}
for i in range(len(city8_fullname)):df = pd.DataFrame(pd.read_excel('./2021年城市气温数据/2021年气温数据'+city8_fullname_py[i]+'.xls'))weather_dic[city8_fullname[i]] = df[['日期','最高温','最低温','气候类型']]weather_dic[city8_fullname[i]]['城市'] = pd.Series([city8_fullname[i]]*df.shape[0])
weather = weather_dic[city8_fullname[0]]
for i in range(1,8):weather = pd.concat([weather,weather_dic[city8_fullname[i]]],ignore_index="true")

得到的数据存放在weather中,结构如下:


四、图像绘制

这里我们需要joypy包

import joypy
import matplotlib.pyplot as pltplt.figure(dpi= 90)
fig, axes = joypy.joyplot(weather, column=['最高温', '最低温'], by="城市", figsize=(13,9),fill=True, legend=True,alpha=.8,xlabelsize=18,ylabelsize=18,color=['tomato','dodgerblue'])
plt.title('八大城市过去一年气温分布', fontsize=25,verticalalignment='bottom' )
plt.savefig(r'./绘图结果/天气-过去一年气温分布-嵴线图.png')

by----在图形中即我们的纵坐标,数据类别,需要指定。

fill----是否需要颜色填充

alpha----在面积图和嵴线图这类会存在图像覆盖的可视化图像中,我们是建议调整透明度的,便于同时展示被覆盖部分的轮廓。当然,如果数据本身存在面积差异,则尽量面积小的类别前置。

结果如下所示:

如果有任何疑问的话呢,欢迎评论区交流~

利用Joypy绘制嵴线图的案例相关推荐

  1. 利用matplotlib绘制圆环图的案例

    一.概念介绍 圆环图(Donut Chart),又称为环形图,甜甜圈图.它从饼图变形而来,单环的作用上与饼图相似,用于展示定性数据中小类占大类的比例关系. Q: 那既然都有饼图了,为什么还要圆环图呢? ...

  2. 利用matplotlib绘制马赛克图的案例

    一.概念介绍 马赛克图(Mosaic plot),基于列联表的数据排布,展现二维定性变量下的取值大小,我们可以将它想象成三维柱状图的俯视,颜色差异或面积大小常被用于区分每个块的赋值大小. · 什么是列 ...

  3. 利用pyecharts绘制水球图的案例

    一.概念介绍 水球图(Liquid Fill Chart),听名字或许比较陌生,但从命名的角度也可以猜测出此类图像以球形水波显示.水球图属于填充仪表盘类,可以用于生动地展示单个百分比数据或评分数据. ...

  4. 利用Pyecharts绘制漏斗图的案例【含参数详解】

    一.概念介绍 漏斗图(Funnel),也称为倒三角图,借助echarts的解释如下: Funnel diagram is suitable for one-way analysis of single ...

  5. 利用Pyecharts绘制仪表盘图的案例【含参数解释】

    目录 一.概念解释 二.数据导入 三.单指针仪表盘 四.参数解释 五.多指针仪表盘 一.概念解释         仪表盘图(Gauge),这里指的并不是人力常用的多图表在同页面聚合排布的绘图方法. 仪 ...

  6. j散度matlab,利用Matlab绘制梯度图、散度图、旋度图。.doc

    利用Matlab绘制梯度图.散度图.旋度图..doc 题 目电磁场理论实验姓 名学 号班 级任课老师实验日期2013年 10月 19日 一.实验目的: 1.利用Matlab绘制梯度图: 2.利用Mat ...

  7. python绘制折线图保存_Python利用matplotlib绘制折线图的新手教程

    前言 matplotlib是Python中的一个第三方库.主要用于开发2D图表,以渐进式.交互式的方式实现数据可视化,可以更直观的呈现数据,使数据更具说服力. 一.安装matplotlib pip i ...

  8. Python中利用Matplotlib绘制多图并合并展示

    有个需求就是利用Matplotlib画几个像模像样的统计图然后合并在一张图中,因为此前很少用这方面的东西,所以折腾了不少时间,今天介绍一下. 1.subplot多合一 其实,利用python 的mat ...

  9. 利用 CoreGraphics 绘制折线图

    效果与元素分析 实现效果图如下: 首先对折线图进行元素分割 包含以下六部分元素 渐变背景 折线 折线上的点 折线范围内渐变 参考线 文本显示的 Label 除了6之外,其他几个元素都在 draw(_: ...

最新文章

  1. 眨眼检测 疲劳检测,分享代码
  2. 应用层协议与网络应用
  3. C#单元测试如何查看输出的调试信息?
  4. FreeModbus TCP传输初始化
  5. 大数据学习笔记08:Java程序访问HDFS
  6. 00后大学生调研四五线城镇商户:91%用上移动支付
  7. 人工智能数学基础之线性代数(持续更新)
  8. cefsharp.core.dll找不到指定模块_DeepFaceLab错误:DLL Load failed 找不到指定模块!
  9. 面试:Android网络优化
  10. GeoNet: Deep Geodesic Networks for Point Cloud Analysis
  11. 【指数数据处理】1. 指数的成分股参考日调整
  12. KeilC51基础 改变代码的字体大小
  13. 学习计算机基础有什么推荐的书和视频?
  14. ff14 掉线 服务器维护,《FF14》29日更新维护 暂不推出手工补丁
  15. 名爵5显示服务器异常,名爵5危险警告灯异常闪烁
  16. 美颜sdk版本是什么意思?如何选择第三方美颜sdk?
  17. html加css做成的简易木马轮播图
  18. 【OpenCV人脸识别入门教程之二】人脸检测
  19. Robot Framework + Pywinauto 框架实现Windows GUI Automation
  20. 得哪个心?善护念四个地平线、三个天际层

热门文章

  1. 网易视频云:流媒体服务器原理和架构解析
  2. 【做任务赚money攻略】“试客小兵”和“试玩守护”
  3. Buffer基本使用
  4. 线性回归;欠拟合和过拟合
  5. 2023届暑期实习华为面试手撕题
  6. 中国手机力推5G,却让苹果摘了桃子
  7. 阿里云自助建站+模板建站+功能定制建站如何选择,详细教程
  8. 卸载2345套件的本人认为最好的方法
  9. 使用echarts将Excel的数据可视化
  10. deepin下安装mysql_deepin系统安装mysql