用R语言进行数据可视化的综合指南(二)

简介:

高级可视化效果


什么是Hexbin Binning?


如果在同一个地方有很多点(overplotting),我们可以使用Hexbin包。六边形面元划分是一种二元直方图,对大数量级结构的数据集的可视化非常有用。下面是代码:


>library(hexbin)

>a=hexbin(diamonds$price,diamonds$carat,xbins=40)

>library(RColorBrewer)

>plot(a)



我们也可以创建一个调色板,然后用Hexbin绘图功能以获得更好的视觉效果。下面是代码:


>library(RColorBrewer)

>rf <- colorRampPalette(rev(brewer.pal(40,'Set3')))

>hexbinplot(diamonds$price~diamonds$carat, data=diamonds, colramp=rf)




马赛克拼图


马赛克拼图可以通过数据所占据的面积大小来有效地显示分类数据的相对比例。


> data(HairEyeColor)

> mosaicplot(HairEyeColor)




热图


热图使你能够以两个维度为轴,颜色的强度为第三个维度来进行探索性的数据分析。然而,你需要将数据集转化成矩阵形式。下面是代码:


> heatmap(as.matrix(mtcars))

您也可以使用image()命令做这种类型的可视化:

> image(as.matrix(b[2:7]))




如何汇总大量数据?


您可以使用tabplot包中的tableplot功能,快速汇总大量数据




地图可视化


R语言中最新的东西是通过Javascript库来进行数据可视化。LeafletJavaScript开源库中最受欢迎的一个库,用于互动地图。有关它的内容,请参考https://rstudio.github.io/leaflet/


您可以用下面的代码直接从github安装Leaflet


devtools::install_github("rstudio/leaflet")




制作上述地图的代码是非常简单的:


library(magrittr)

library(leaflet)

m <- leaflet() %>%

addTiles() %>% # Add default OpenStreetMap map tiles

addMarkers(lng=77.2310, lat=28.6560, popup="The delicious food of chandni chowk")

m # Print the map


3维图


R语言的的功能让人闪瞎眼的最简单的方法之一是通过创建一张3维图,而不需要用R语言写一行代码,并且在3分钟内就能完成。这样要求是不是太过分呢?


我们使用R Commander包作为图形用户界面(GUI)。操作步骤如下:


1. 只需安装Rcmdr

2. 使用来自图中的3D绘图选项


下面的代码不是用户输入的,是自动生成的。


便签:当我们交换图的坐标轴时,您应该看到有着相应代码的图,我们是如何使用xlabylab来传递轴标签,图标题用Main函数,颜色是col参数。


>data(iris, package="datasets")

>scatter3d(Petal.Width~Petal.Length+Sepal.Length|Species, data=iris, fit="linear"

>residuals=TRUE, parallel=FALSE, bg="black", axis.scales=TRUE, grid=TRUE, ellipsoid=FALSE)




您还可以使用Lattice包来做3维图。Lattice也可以用于xyplot。下面是代码:


>attach(iris)# 3d scatterplot by factor level

>cloud(Sepal.Length~Sepal.Width*Petal.Length|Species, main="3D Scatterplot by Species")

>xyplot(Sepal.Width ~ Sepal.Length, iris, groups = iris$Species, pch= 20)





相关图(GUIs


相关图帮助我们把相关矩阵内的数据可视化。下面是代码:


> cor(iris[1:4])

Sepal.Length Sepal.Width Petal.Length Petal.Width

Sepal.Length 1.0000000 -0.1175698 0.8717538 0.8179411

Sepal.Width -0.1175698 1.0000000 -0.4284401 -0.3661259

Petal.Length 0.8717538 -0.4284401 1.0000000 0.9628654

Petal.Width 0.8179411 -0.3661259 0.9628654 1.0000000

> corrgram(iris)




R语言有三个主要的GUI包。RCcommanderKMggplotRattle用于数据挖掘,Deducer用于数据可视化。这些有助于自动完成多个工作。


结束语


我真的享受写这篇文章,R语言所用到的各种方式使得它成为世界上最好的数据可视化软件。Python也许在Seaborn(译者注:Seaborn是python中基于matplotlib的统计绘图模块)和ggplot(译者注:ggplot是用于绘图的R语言扩展包在Python的移植)上获得进展,而没有什么能打败在统计数据可视化上拥有绝对数量巨大软件包的R语言。


我在本文中已经讨论了各种形式的可视化,是通过用R语言编程实现从基础到高级的有助于展示数据的图表。



原文发布时间为:2015-07-27

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

相关文章
|
2月前
|
机器学习/深度学习 数据采集 人工智能
R语言是一种强大的编程语言,广泛应用于统计分析、数据可视化、机器学习等领域
R语言是一种广泛应用于统计分析、数据可视化及机器学习的强大编程语言。本文为初学者提供了一份使用R语言进行机器学习的入门指南,涵盖R语言简介、安装配置、基本操作、常用机器学习库介绍及实例演示,帮助读者快速掌握R语言在机器学习领域的应用。
87 3
|
4月前
|
数据可视化
R语言可视化设计原则:打造吸引力十足的数据可视化
【8月更文挑战第30天】R语言可视化设计是一个综合性的过程,需要综合运用多个设计原则来创作出吸引力十足的作品。通过明确目标、选择合适的图表类型、合理运用色彩与视觉层次、明确标注与引导视线以及引入互动性与动态效果等原则的应用,你可以显著提升你的数据可视化作品的吸引力和实用性。希望本文能为你提供一些有益的启示和帮助。
|
7月前
|
数据可视化 算法 大数据
数据分享|R语言改进Apriori关联规则挖掘研究西安PM2.5含量与天气因素关系数据可视化
数据分享|R语言改进Apriori关联规则挖掘研究西安PM2.5含量与天气因素关系数据可视化
|
7月前
|
数据可视化 数据挖掘 索引
R语言层次聚类、多维缩放MDS分类RNA测序(RNA-seq)乳腺发育基因数据可视化|附数据代码2
R语言层次聚类、多维缩放MDS分类RNA测序(RNA-seq)乳腺发育基因数据可视化|附数据代码
|
7月前
|
数据可视化 定位技术
R语言贝叶斯INLA空间自相关、混合效应、季节空间模型、SPDE、时空分析野生动物数据可视化
R语言贝叶斯INLA空间自相关、混合效应、季节空间模型、SPDE、时空分析野生动物数据可视化
|
7月前
|
机器学习/深度学习 数据可视化 算法
R语言聚类分析、因子分析、主成分分析PCA农村农业相关经济指标数据可视化|数据分享
R语言聚类分析、因子分析、主成分分析PCA农村农业相关经济指标数据可视化|数据分享
|
7月前
|
监控 数据可视化 数据挖掘
R语言质量控制图、质量管理研究分析采购订单数量、CPU时间、纸厂产出、钢板数据可视化
R语言质量控制图、质量管理研究分析采购订单数量、CPU时间、纸厂产出、钢板数据可视化
|
7月前
|
存储 数据可视化 数据挖掘
R语言层次聚类、多维缩放MDS分类RNA测序(RNA-seq)乳腺发育基因数据可视化|附数据代码1
R语言层次聚类、多维缩放MDS分类RNA测序(RNA-seq)乳腺发育基因数据可视化|附数据代码
|
7月前
|
数据可视化
R语言平稳性ADF检验、ARCH-LM效应检验分析收盘价收益率数据可视化
R语言平稳性ADF检验、ARCH-LM效应检验分析收盘价收益率数据可视化
|
7月前
|
数据可视化
R语言PLS-DA模型分析不同中医组别患者间差异指标数据可视化
R语言PLS-DA模型分析不同中医组别患者间差异指标数据可视化