用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库来进行数据可视化。Leaflet是JavaScript开源库中最受欢迎的一个库,用于互动地图。有关它的内容,请参考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绘图选项

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

便签:当我们交换图的坐标轴时,您应该看到有着相应代码的图,我们是如何使用xlab和ylab来传递轴标签,图标题用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包。RCcommander和KMggplot及Rattle用于数据挖掘,Deducer用于数据可视化。这些有助于自动完成多个工作。

结束语


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

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

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

时间: 2024-08-22 23:32:44

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

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

让我们快速浏览一下这张图表: 这张可视化数据图(最初用Tableau软件创建 )是如何利用数据可视化来帮助决策者的一个很好的例子.想象一下,如果这些信息通过表格来告诉投资者,你认为你会花多长时间来向他解释? 如今的世界里,随着数据量的不断增长,很难不用可视化的形式来呈现你数据里的全部信息.虽然有专门的工具,如Tableau, QlikView 和 d3.js,但没有任何东西能代替有很好可视化能力的建模/统计工具.尤其是它有助于做若干探索性数据分析和特征化工程.这就是R语言,它提供了令人难以置信的

《R语言数据分析与挖掘实战》——3.3 R语言主要数据探索函数

3.3 R语言主要数据探索函数 R提供了大量的与数据探索相关的函数,这些数据探索函数可大致分为统计特征函数与统计作图函数.本小节对R中主要的统计特征函数与统计作图函数进行介绍,并举例以方便理解. 3.3.1 统计特征函数 统计特征函数用于计算数据的均值.方差.标准差.分位数.相关系数.协方差等,这些统计特征能反映出数据的整体分布.本小节所介绍的统计特征函数如表3-7所示. (1)mean 功能:计算数据样本的算术平均数. 使用格式: 计算样本X的均值n,样本X可为向量.矩阵或多维数组. (2)e

分析零距离 数据可视化产品选型指南

文章讲的是分析零距离 数据可视化产品选型指南,大数据的核心不是"大",也不是"数据",而是蕴含在其中的商业价值.作为挖掘数据背后潜在价值的重要手段,商业智能和分析平台成为大数据部署中的关键环节.然而,获取价值的难点并不在于数据分析应用的部署,而在于专业数据分析人才的缺乏.市场研究机构IDC甚至认为,数据分析人才的欠缺可能会成为影响大数据市场发展的重要因素. "让每个人都成为数据分析师"是大数据时代赋予的要求,数据可视化的出现恰恰从侧面缓解了专业数

用Python进行数据可视化的10种方法

引言 艺术之美根植于其所传达的信息.有时候,现实并非我们所看到或感知到的.达芬奇(Da Vinci)和毕加索(Picasso)等艺术家都通过其具有特定主题的非凡艺术品,试图让人们更加接近现实. 数据科学家并不逊色于艺术家.他们用数据可视化的方式绘画,试图展现数据内隐藏的模式或表达对数据的见解.更有趣的是,一旦接触到任何可视化的内容.数据时,人类会有更强烈的知觉.认知和交流. 在数据科学中,有多种工具可以进行可视化.在本文中,我展示了使用Python来实现的各种可视化图表. 怎样才能在Python

《数据科学:R语言实现》——导读

前 言 大数据.物联网.人工智能已经变成近几年最热门的科技流行语.尽管大家用很多名词去定义这些技术,但是共通的思想是它们都是数据驱动的.人们并不满足于简单地拥有数据,因为发现其中的价值才是最本质的.因此数据科学家已经开始关注如何从原始数据中洞悉深层价值. 数据科学已经变成学术界和产业界最流行的话题.但是数据科学是一门非常宽泛的学科,学会掌握数据科学注定很有挑战性.初学者必须学习如何准备.处理.聚合和可视化数据.而更多高级技能包括机器学习,挖掘各种数据格式(文本.图像和视频),以及最重要的-使用数

《R数据可视化手册》一导读

前 言 R数据可视化手册几年前读研时我开始用R,主要用来分析我在科研工作中收集到的数据.我使用R首先是想摆脱SPSS这样的统计软件的禁锢,即严格的环境和死板的分析.更何况,R是免费的,所以我用不着说服别人为我购买一套这样的软件--这对一个穷研究生来说是相当的重要!此后,随着我对R的了解不断深入,我才发现原来R还可以绘制出非常优秀.动人的数据图形. 本书的每个"技巧"中,都列出了一个问题和对应的解决方法.在大多数情况下,我提供的并不是R中唯一的实现方法,但却是我认为的最佳方案.R如此受欢

《R数据可视化手册》——导读

前言 R数据可视化手册几年前读研时我开始用R,主要用来分析我在科研工作中收集到的数据.我使用R首先是想摆脱SPSS这样的统计软件的禁锢,即严格的环境和死板的分析.更何况,R是免费的,所以我用不着说服别人为我购买一套这样的软件--这对一个穷研究生来说是相当的重要!此后,随着我对R的了解不断深入,我才发现原来R还可以绘制出非常优秀.动人的数据图形. 本书的每个"技巧"中,都列出了一个问题和对应的解决方法.在大多数情况下,我提供的并不是R中唯一的实现方法,但却是我认为的最佳方案.R如此受欢迎

《数据科学:R语言实现》—— 第1章 R中的函数 1.1 引言

第1章 R中的函数 1.1 引言 R语言是数据科学家的主流编程语言.基于著名的数据分析网站KDnuggets的民意测验,3项(2012年到2014年)的调查显示,R语言在数据分析.数据挖掘和数据科学领域中是最受欢迎的语言.对许多数据科学家来说,R语言不仅是一门编程语言,而且相关软件还提供了交互式的开发环境,支持运行各种数据分析任务. R语言在数据操作和分析方面有许多优势.下面是3个最显著的优势. 这些优势使得复杂的数据分析变得更加简单易行.对此,R语言用户都深信不疑.而且,R语言尤其适合基础用户

《数据科学:R语言实现》——第1章 R中的函数

第1章 R中的函数1.1 引言R语言是数据科学家的主流编程语言.基于著名的数据分析网站KDnuggets的民意测验,3项(2012年到2014年)的调查显示,R语言在数据分析.数据挖掘和数据科学领域中是最受欢迎的语言.对许多数据科学家来说,R语言不仅是一门编程语言,而且相关软件还提供了交互式的开发环境,支持运行各种数据分析任务.R语言在数据操作和分析方面有许多优势.下面是3个最显著的优势.开源并且免费:用户使用SAS或者SPSS需要购买使用许可.而用户使用R语言是免费的,并且可以方便地学习如何实