程序笔记   发布时间:2022-07-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了利用Joypy绘制嵴线图的案例大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

一、概念介绍

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

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

图形示例:

利用Joypy绘制嵴线图的案例

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


二、数据展示

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

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

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

@H_618_27@

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

利用Joypy绘制嵴线图的案例

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

感兴趣的朋友可戳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中࿰c;结构如下:

利用Joypy绘制嵴线图的案例


四、图像绘制

这里我们需要joypy包

import joypy
import matplotlib.pyplot as plt

plt.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----在图形中即我们的纵坐标࿰c;数据类别࿰c;需要指定。 

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

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

结果如下所示:

利用Joypy绘制嵴线图的案例

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

大佬总结

以上是大佬教程为你收集整理的利用Joypy绘制嵴线图的案例全部内容,希望文章能够帮你解决利用Joypy绘制嵴线图的案例所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。