Excel-R-Python: 峰峦图的实现

《R语言数据可视化之美》中详细介绍了各种峰峦图的绘制方法。其中关于R-ggridges包的问题1今天有了新的认识,并做修正奉献给大家。ggridges包有一个很惊艳的函数geom_density_ridges_gradient()可以绘制多数据系列的核密度估计图,如下图所示:

#代码如下:library(ggplot2)library(ggridges)#theme_set(theme_ridges())ggplot(lincoln_weather, aes(x = `Mean Temperature [F]`, y = `Month`)) +geom_density_ridges_gradient(aes(fill = `Month`), scale = 3, size = 0.3) + theme(legend.position = "none")在这个函数中,fill的颜色还可以以x轴的数值作为映射,如下图所示:
#代码如下:library(ggplot2)library(ggridges)#theme_set(theme_ridges())library(RColorBrewer)Colormap<- colorRampPalette(rev(brewer.pal(11,'Spectral')))(32)ggplot(lincoln_weather, aes(x = `Mean Temperature [F]`, y = `Month`)) +geom_density_ridges_gradient(aes(fill = ..x..), scale = 3, size = 0.3 ) +scale_fill_gradientn(colours=Colormap,name = "Temp. [F]")我之前说的ggridges包中, 由于没有Y轴数值,无法得知每个数据系列对应的Y轴数值,也就无法得到核密度估计得具体数值,只能看到数据大概的分布形状;
核密度估计面积的高度对应核密度估计得数值,这就相当于将Y轴的对应数值使用颜色映射实现啦。有朋友Hazard在知乎上说还是可以通过ggridges包实现的,具体代码如下:
#代码如下:library(ggplot2)library(ggridges)#theme_set(theme_ridges())library(RColorBrewer)ggplot(lincoln_weather,aes(x = `Mean Temperature [F]`, y = rev(`Month`), fill = ..density..)) +geom_density_ridges_gradient(scale = 3, rel_min_height = 0.01,size = 0.3) +scale_fill_gradientn(colours = colorRampPalette(rev(brewer.pal(11,'Spectral')))(32))但是对于不是核密度估计的图表,ggridges包还是没有办法实现。下面就是使用山峰叠峦图展示多数据系列的时序数据,而不是核密度估计,如下图1所示。但是这个图也存在之前的问题:由于没有Y轴数值,无法得知每个数据系列对应的Y轴数值。图2所示就将Y轴数值映射到颜色colormap,这样就可以得到每个时间点对应的数值。
图1

新书《Python数据可视化之美》也介绍了这种图的绘制方法,joypy 包提供了joyplot()函数,它根据数据可以直接绘制不同颜色的核密度估计峰峦图,其具体代码如下:
import pandas as pdimport joypydf = pd.read_csv("lincoln_weather.csv")Categories=['January', 'February', 'March', 'April', 'May', 'June','July', 'August','September', 'October','November','December']df['Month']=df['Month'].astype("category",categories=Categories,ordered=True)

Excel插件EasyCharts2.0: EasyShu
原Excel图表插件EasyCharts 1.0的主要功能包括1. 图表风格的自动转换;2. 颜色主题的自动转换;3. 新型图表的自动绘制;4. 数据分析的自动实现;5. Excel辅助工具的使用 Excel图表插件EasyCharts 2.0版本:EasyShu即将上线。新版本不仅会保留原插件的基本功能,而且会拥有其他更多新功能。新插件可以轻松绘制矩阵气泡图,一键生成的效果如下图所示:


如需联系EasyShu团队
请加微信:EasyCharts
微信公众号【EasyShu】博文代码集合地址
https://github.com/Easy-Shu/EasyShu-WeChat
数据可视化之美系列书籍

《Python数据可视化之美》-配套源代码下载地址
Github
https://github.com/Easy-Shu/Beautiful-Visualization-with-python
《R语言数据可视化之美》-增强版配套源代码下载地址
Github
https://github.com/Easy-Shu/Beautiful-Visualization-with-R



