本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

以下文章来源于DataCharm,作者 宁海涛

转载地址

https://www.zhihu.com/people/qi-shi-huan-hao-la-14/posts

Python-joypy 制作

Python 制作峰峦图有直接的第三方库joypy进行绘制,该库可以直接通过pip安装。可视化代码如下:

import matplotlib.pyplot as plt
plt.rcParams['font.family'] = ['Times New Roman']
colors = ['#791E94','#58C9B9','#519D9E','#D1B6E1']
fig,axs = joypy.joyplot(data_ed, by="source",fill=True, legend=True,alpha=.8,
range_style='own',xlabelsize=22,ylabelsize=22,
grid='both', linewidth=.8,linecolor='k', figsize=(12,6),color=colors,
)ax = plt.gca()#设置x刻度为时间形式x = np.arange(6)
xlabel=['8-21','8-28','9-4','9-11','9-18','9-25']
ax.set_xlim(left=-.5,right=5.5)
ax.set_xticks(x)ax.set_xticklabels(xlabel)ax.text(.47,1.1,"Joyplot plots of media shares (TV, Online News and Google Trends)",
transform = ax.transAxes,ha='center', va='center',fontsize = 25,color='black')
ax.text(.5,1.03,"Python Joyplot Test",
transform = ax.transAxes,ha='center', va='center',fontsize = 15,color='black')
ax.text(.90,-.11,'\nVisualization by DataCharm',transform = ax.transAxes,
ha='center', va='center',fontsize = 12,color='black')
plt.savefig(r'F:\DataCharm\Artist_charts_make_python_R\joyplots\Joyplot_python.png',
width=7,height=5,dpi=900,bbox_inches='tight')

可视化结果如下:

关于 joypy库其他详细的参数设置,可以去官网(https://github.com/sbebo/joypy) 下载 Joyplot.ipynb 文件查看,最好查看所绘制数据的格式,有助于更好绘制峰峦图。

R-ggridges 绘制

借助于R语言丰富且强大的第三方绘图包,在应对不同类型图表时,机会都会有对应的包进行绘制。本次就使用ggridges包(https://wilkelab.org/ggridges/)进行峰峦图的绘制。官网的例子如下:

ggplot(lincoln_weather, aes(x = `Mean Temperature [F]`, y = Month, fill = stat(x))) +
geom_density_ridges_gradient(scale = 3, rel_min_height = 0.01, gradient_lwd = 1.) +
scale_x_continuous(expand = c(0, 0)) +
scale_y_discrete(expand = expand_scale(mult = c(0.01, 0.25))) +
scale_fill_viridis_c(name = "Temp. [F]", option = "C") +
labs(
title = 'Temperatures in Lincoln NE',
subtitle = 'Mean temperatures (Fahrenheit) by month for 2016'
) + theme_ridges(font_size = 13, grid = TRUE) +
theme(axis.title.y = element_blank())

结果如下:

这里我们没有使用 geom_density_ridges_gradient()进行绘制,使用了 geom_ridgeline() 进行类似于 山脊线 图的绘制。

绘制代码如下:

library(ggthemes)
library(hrbrthemes)plot <- ggplot(all_data, aes(x = date, y = source)) +
geom_ridgeline(aes(height = value, fill = factor(hurricane)), size = 0.1, scale = 0.8, alpha = 0.8) +
labs(title = "Ridgeline plots of media shares (TV, Online News and Google Trends)",
subtitle = "ggridges ridgeline plot test",
caption = "Visualization by DataCharm",
y = NULL,
x = NULL) +
scale_x_date(expand = c(0,0)) +
scale_fill_manual(values = c('#791E94','#58C9B9','#D1B6E1','#519D9E'),name="Hurricane")+
theme_ipsum()+
theme(text = element_text(family = 'Poppins',face = 'bold'),
axis.text.y = element_text(vjust = -2))
plot

可视化结果如下:

上述所涉及到的函数都是基本,在熟悉ggpot2 绘图体系后可以轻松理解。更多有趣的可视化作品,大家可以去官网查看。

 

Python-joypy和 R-ggridges 峰峦图制作的更多相关文章

  1. 用Python 绘制分布(折线)图

    用Python 绘制分布(折线)图,使用的是 plot()函数. 一个简单的例子: # encoding=utf-8 import matplotlib.pyplot as plt from pyla ...

  2. python的egg包的安装和制作]

    Defining Python Source Code Encodings Python egg 的安装 egg文件制作与安装 2011-06-10 14:22:50|  分类: python |   ...

  3. (转)python中调用R语言通过rpy2 进行交互安装配置详解

    python中调用R语言通过rpy2 进行交互安装配置详解(R_USER.R_HOME配置) 2018年11月08日 10:00:11 luqin_ 阅读数:753   python中调用R语言通过r ...

  4. Python的网络编程--思维导图

    Python的网络编程--思维导图

  5. python逆向工程:通过代码生成类图

    python逆向工程:通过代码生成类图 大致过程 现在有一个core包,里面有python的代码. 通过core包,生成python的类图,如下: 实施步骤: 1.首先安装graphviz,一个画图工 ...

  6. python编写微信公众号首图思路详解

    前言 之前一直在美图秀秀调整自己的微信公众号首图,效果也不尽如人意,老是调来调去,最后发出来的图片被裁剪了一大部分,丢失部分关键信息,十分恼火,于是想着用python写一个程序,把微信公众号首图的模式 ...

  7. 跟我学Python图像处理丨基于灰度三维图的图像顶帽运算和黑帽运算

    摘要:本篇文章结合灰度三维图像讲解图像顶帽运算和图像黑猫运算,通过Python调用OpenCV函数实现. 本文分享自华为云社区<[Python图像处理] 十三.基于灰度三维图的图像顶帽运算和黑帽 ...

  8. 干货满满:python实现二维图制作

    python全代码如下 import re import csv import matplotlib.pyplot as plt x=[] y=[] m=eval(input()) #输入折线条数 f ...

  9. R语言---热图的制作

    >install.packages("gplots") > library("gplots")> p <- data.frame(rea ...

随机推荐

  1. Kafka入门(3):Sarama生产者是如何工作的

    摘要 在这一篇的文章中,我将从Sarama的同步生产者和异步生产者怎么创建开始讲起,然后我将向你介绍生产者中的各个参数是什么,怎么使用. 然后我将从创建生产者的代码开始,按照代码的调用流程慢慢深入,直 ...

  2. React设计模式相关

    关于我在React设计模式上做的一些思考: 一,项目里实战的经历 最开始我根据组件不同的职能定义,拆分了展示组件和容器组件两大类,后来随着业务逻辑越来越复杂,容器组件代码越来越冗长,我又加入了HOC高 ...

  3. Python 批量下载BiliBili视频 打包成软件

    文章目录 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大家 ...

  4. 【python】装饰器听了N次也没印象,读完这篇你就懂了

    装饰器其实一直是我的一个"老大难".这个知识点就放在那,但是拖延症... 其实在平常写写脚本的过程中,这个知识点你可能用到不多 但在面试的时候,这可是一个高频问题. 一.什么是装饰 ...

  5. 再爆安全漏洞,这次轮到Jackson了,竟由阿里云上报

    冤冤相报何时了,得饶人处且饶人.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众号[ ...

  6. Mac Item2自动远程连接服务器

    Mac Item2自动远程连接服务器 1.编写脚本 vi test #!/usr/bin/expect set PORT 端口 set HOST ip set USER root set PASSWO ...

  7. 18_Python常用的模块中的某个方法

    1.imp模块==========>重新加载已加载过的模块方法 import imp imp.reload(mymod) # 重新加载已经加载过的mymod模块 2.ctypes模块====== ...

  8. IDEA 2020 集成 Activity插件

    我按照教程打开settings-plugins,搜索actiBPM搜索不到, 于是我就去下载插件,然后再安装,具体步骤如下: 下载插件: 到http://plugins.jetbrains.com/, ...

  9. Activiti工作流概述

    本来打算看OCR的但是我手里有的资源是讲的PY的,涉及到CNN和RNN看得有的不太明白,捂脸,所以看看工作流吧,反正也都不会,干啥啥不会 工作流的概念 工作流的概念应该都差不多了解要不也不会搜索这个标 ...

  10. jenkins通过API触发构建任务

    添加一个可变参数 配置token 参数用 ${参数名称} 引用 外部调用url地址:ip:port/view/视图名称/job/任务名称/buildWithParameters?token=test& ...