什么叫R语言数据可视化

Python04

什么叫R语言数据可视化,第1张

比如你有一个Excel数据文件,里面数据一大堆,看起来毫无规律,你是不是想做个饼图看一下各成分分布的百分比?是不是想做个折线图看有没有相关性或其他规律?是不是想做个直方图看哪个区间分布的较多?把这些数据做个图出来看起来更直观就叫数据可视化。

当然在R里做就叫“R语言数据可视化”。它能给你远超Excel图表的可视化能力。

说起R语言的交互包,第一个想到的应该就是rCharts包。该包直接在R中生成基于D3的Web界面。

rCharts包的安装

require(devtools)

install_github('rCharts', 'ramnathv')

rCharts函数就像lattice函数一样,通过formula、data指定数据源和绘图方式,并通过type指定图表类型。

下面通过例子来了解下其工作原理。我们以鸢尾花数据集为例,首先通过name函数对列名进行重新赋值(去掉单词间的点),然后利用rPlot函数绘制散点图(type=”point”),并利用颜色进行分组(color=”Species”)。

library(rCharts)

names(iris) = gsub("\\.", "", names(iris))

p1 <- rPlot(SepalLength ~ SepalWidth | Species, data = iris, color = 'Species', type = 'point')

p1

rCharts支持多个javascript图表库,每个都有自己的长处。每一个图表库有多个定制选项,其中大部分rCharts都支持。

NVD3 是一个旨在建立可复用的图表和组件的 d3.js 项目——它提供了同样强大的功能,但更容易使用。它可以让我们处理复杂的数据集来创建更高级的可视化。在rCharts包中提供了nPlot函数来实现。

下面以眼睛和头发颜色的数据(HairEyeColor)为例说明nPlot绘图的基本原理。我们按照眼睛的颜色进行分组(group=”eye”),对头发颜色人数绘制柱状图,并将类型设置为柱状图组合方式(type=”multiBarChart”),这样可以实现分组和叠加效果。

library(rCharts)

hair_eye_male <- subset(as.data.frame(HairEyeColor), Sex == "Male")

hair_eye_male[,1] <- paste0("Hair",hair_eye_male[,1])

hair_eye_male[,2] <- paste0("Eye",hair_eye_male[,2])

n1 <- nPlot(Freq ~ Hair, group = "Eye", data = hair_eye_male,

type = "multiBarChart")

n1

可以通过图形右上角选择需要查看或隐藏的类别(默认是全部类别显示的),也能通过左上角选择柱子是按照分组还是叠加的方式进行摆放(默认是分组方式)。如果选择Stacked,就会绘制叠加柱状图。

R语言绘图系列:

根据cyl变量把图形分成4列

根据drv变量把图形分成3行

每个小图x轴和y轴的轴标签完全一致,会导致极值显示不出来

使用scales参数释放坐标轴刻度

2.1 grid.arrange函数

生成四张图

将四张图拼到一张图

2.2 ggrepel包 在图上添加文本,可以自动把叠加的文本分开。

geom_text_repel函数