文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python用Joypy绘制嵴线图实例

2024-04-02 19:55

关注

一、概念介绍

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

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

图形示例:

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

二、数据展示

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

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

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

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

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

三、数据读入

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

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

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

结果如下所示:

总结

到此这篇关于python Joypy绘制嵴线图实例的文章就介绍到这了,更多相关python Joypy嵴线图内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯