R语言绘图:28个实用程序包

栏目: R语言 · 发布时间: 7年前

郑连虎,在数学学院取得理学学位的文科生,中国人民大学硕博连读生在读,山东大学管理学学士、理学学士

个人公众号:阿虎定量笔记

全文注释

# 示例参考帮助文档

# 我用Rstudio重现了所有示例

# 初识R语言,请戳我的原创推文“ R语言入门 ”与“ 一起来学R

# 使用Stata绘图,请戳我的原创推文“ Stata绘图:37条外部命令

# 本文以字母顺序 排序 程序包

# 更多用于R语言绘图的程序包,欢迎在留言区补充

cartogram

扭曲的地图,以传达统计信息

R语言绘图:28个实用程序包

开发

Sebastian Jeworutzki,

sebastian.jeworutzki@ruhr-uni-bochum.de;

Timothee Giraud;Nicolas Lambert;

Roger Bivand;Edzer Pebesma

示例

# 安装并加载包

install.packages("maptools")

library(maptools)

# 绘制非洲边界

data(wrld_simpl)

afr=wrld_simpl[wrld_simpl$REGION==2,]

plot(afr)

# 安装并加载包

install.packages("cartogram")

library(cartogram)

# 使用2005年的非洲人口数据

afr_cartogram <- cartogram(afr, "POP2005", itermax=5)

# 反映非洲人口特征

plot(afr_cartogram)

circlize

圈圈布局、弦图

R语言绘图:28个实用程序包

开发

Zuguang Gu,

z.gu@dkfz.de

示例

# 安装并加载包

install.packages("circlize")

library(circlize)

# 生成数据

name=c(3,10,10,3,6,7,8,3,6,1,2,2,6,10,2,3,3,10,4,5,9,10)

feature=paste("feature ", c(1,1,2,2,2,2,2,3,3,3,3,3,3,3,4,4,4,4,5,5,5,5) , sep="")

dat <- data.frame(name,feature)

dat <- with(dat, table(name, feature))

# 绘制弦图

chordDiagram(as.data.frame(dat), transparency = 0.5)

CMplot

圆形曼哈顿图

R语言绘图:28个实用程序包

开发

LiLin-Yin

ylilin@163.com

示例

# 安装并加载包

install.packages("CMplot")

library("CMplot")

# 绘图

CMplot(gwasResults, plot.type="c", r=1.6, cir.legend=TRUE, outward=TRUE, cir.legend.col="black", cir.chr.h=.1 ,chr.den.col="orange", file="jpg",        memo="", dpi=300, chr.labels=seq(1,22))

corrgram

相关系数矩阵

R语言绘图:28个实用程序包

开发

Kevin Wright,

kw.stat@gmail.com

示例

# 安装并加载包

install.packages("iterators")

install.packages("corrgram")

library(iterators)

library(corrgram)

# 绘制相关系数矩阵图

corrgram(mtcars, order=TRUE, lower.panel=panel.shade, upper.panel=panel.pie,text.panel=panel.txt, main="Correlogram of mtcar intercorrelations")

corrplot

相关系数矩阵

R语言绘图:28个实用程序包

开发

Taiyun Wei,

weitaiyun@gmail.com;

Viliam Simko,

viliam.simko@gmail.com

示例

# 安装并加载包

install.packages("corrplot")

library(corrplot)

# 计算相关系数

mycor <- cor(mtcars)

# 绘制相关系数矩阵图

corrplot.mixed(mycor, upper = "ellipse")

dygraphs

时间序列数据的可视化

R语言绘图:28个实用程序包

开发

Dan Vanderkam;

JJ Allaire,

jj@rstudio.com;

Jonathan Owen;

Daniel Gromer;

Petr Shevtsov;

Benoit Thieurmel

示例

# 安装并加载包

install.packages("dygraphs")

library(dygraphs)

# 时间序列

data=data.frame( time=c( seq(0,20,0.5), 40), value=runif(42))

str(data)

dygraph(data)

ellipse

椭圆

R语言绘图:28个实用程序包

开发

Duncan Murdoch,

murdoch@stats.uwo.ca;

E. D. Chow

示例

# 安装并加载包

install.packages("ellipse")

library(ellipse)

# 绘制相关系数矩阵图

data(mtcars)

fit <- lm(mpg ~ ., mtcars)

plotcorr(summary(fit, correlation = TRUE)$correlation)

fmsb

雷达图

R语言绘图:28个实用程序包

开发

Minato Nakazawa

minato-nakazawa@umin.net

示例

# 安装并加载包

install.packages("fmsb")

library(fmsb)

# 生成数据

data=as.data.frame(matrix( sample( 2:20 , 10 , replace=T) , ncol=10))

colnames(data)=c("math" , "english" , "biology" , "music" , "R-coding", "data-viz" , "french" , "physic", "statistic", "sport" )

data=rbind(rep(20,10) , rep(0,10) , data)

# 雷达图参数设置

radarchart(data,axistype=1,pcol=rgb(0.2,0.5,0.5,0.9),pfcol=rgb(0.2,0.5,0.5,0.5), plwd=4, cglcol="grey", cglty=1, axislabcol="grey", caxislabels=seq(0,20,5), cglwd=0.8,vlcex=0.8)

forecast

时间序列分析

R语言绘图:28个实用程序包

开发

Rob J Hyndman,

Rob.Hyndman@monash.edu

示例

# 安装并加载包

install.packages("forecast")

library(forecast)

# 使用英国每月死于肺病的人数数据

fit<- auto.arima(mdeaths)

# 设置置信区间

forecast(fit, level=c(80, 95, 99), h=3)

# 绘制时间序列趋势图

plot(forecast(fit), shadecols="oldstyle")

GGally

散点图矩阵

R语言绘图:28个实用程序包

开发

Barret Schloerke,

schloerke@gmail.com;

Jason Crowley,

crowley.jason.s@gmail.com;

Di Cook,

dicook@monash.edu;

Heike Hofmann,

hofmann@iastate.edu;

Hadley Wickham,

h.wickham@gmail.com;

Francois Briatte,

f.briatte@gmail.com;

Moritz Marbach,

mmarbach@mail.uni-mannheim.de;

Edwin Thoen,

edwinthoen@gmail.com;

Amos Elberg,

amos.elberg@gmail.com;

Joseph Larmarange,

joseph@larmarange.net

示例

# 安装并加载包

install.packages("GGally")

library(GGally)

# 绘制相关系数矩阵图

ggpairs(mtcars, columns = c("mpg", "cyl", "disp"),upper = list(continuous = wrap("cor", size = 10)), lower =list(continuous = "smooth"))

ggplot2

丰富的数据可视化

R语言绘图:28个实用程序包 R语言绘图:28个实用程序包 R语言绘图:28个实用程序包

开发

Hadley Wickham,

hadley@rstudio.com;

Winston Chang,

winston@rstudio.com

示例

# 安装并加载包

install.packages("ggplot2")

library(ggplot2)

# 生成数据

variety=rep(LETTERS[1:7], each=40)

treatment=rep(c("high","low"),each=20)

note=seq(1:280)+sample(1:150, 280, replace=T)

data=data.frame(variety, treatment ,  note)

# 绘制箱线图

ggplot(data, aes(x=variety, y=note, fill=treatment)) +

geom_boxplot()

# 生成数据

set.seed(345)

Sector <- rep(c("S01","S02","S03","S04","S05","S06","S07"),times=7)

Year <- as.numeric(rep(c("1950","1960","1970","1980","1990","2000","2010"),each=7))

Value <- runif(49, 10, 100)

data <- data.frame(Sector,Year,Value)

# 绘制区域图

ggplot(data, aes(x=Year, y=Value, fill=Sector)) +

    geom_area()

# 安装并加载包

install.packages("plotly")

install.packages("gapminder")

library(plotly)

library(gapminder)

# 绘制气泡图

p <- gapminder %>%

  filter(year==1977) %>%

  ggplot( aes(gdpPercap, lifeExp, size = pop, color=continent)) +

  geom_point() +

  scale_x_log10() +

  theme_bw()

ggplotly(p)

ggridges

叠嶂图(山峦图)

R语言绘图:28个实用程序包

开发

Claus O. Wilke,

wilke@austin.utexas.edu

示例

# 安装并加载包

install.packages("ggridges")

install.packages("ggplot2")

library(ggridges)

library(ggplot2)

# 使用钻石数据

head(diamonds)

# 绘制叠嶂图

ggplot(diamonds, aes(x = price, y = cut, fill = cut)) +

  geom_density_ridges() +

  theme_ridges() +

  theme(legend.position = "none")

hexbin

二维直方图

R语言绘图:28个实用程序包

开发

Dan Carr,

dcarr@voxel.galaxy.gmu.edu;

Nicholas Lewin-Koh;

Martin Maechler,

maechler@stat.math.ethz.ch;

Deepayan Sarkar,

deepayan.sarkar@r-project.org

示例

# 安装并加载包

install.packages("hexbin")

install.packages("RColorBrewer")

library(hexbin)

library(RColorBrewer)

# 生成数据

x <- rnorm(mean=1.5, 5000)

y <- rnorm(mean=1.6, 5000)

# 绘制二维散点图

bin<-hexbin(x, y, xbins=40)

my_colors=colorRampPalette(rev(brewer.pal(11,'Spectral')))

plot(bin, main="", colramp=my_colors, legend=F)

igraph

网络图

R语言绘图:28个实用程序包

示例

# 安装并加载包

install.packages("igraph")

library(igraph)

# 生成数据

data=matrix(sample(0:1, 400, replace=TRUE, prob=c(0.8,0.2)), nrow=20)

network=graph_from_adjacency_matrix(data , mode='undirected', diag=F )

# 输出网络

par(mfrow=c(2,2), mar=c(1,1,1,1))

plot(network, layout=layout.sphere, main="sphere")

lattice

点图、核密度图、直方图、柱状图、箱线图、散点图、带状图、平行箱线图、三维图、散点图矩阵等

R语言绘图:28个实用程序包 R语言绘图:28个实用程序包 R语言绘图:28个实用程序包 R语言绘图:28个实用程序包 R语言绘图:28个实用程序包 R语言绘图:28个实用程序包 R语言绘图:28个实用程序包

开发

Deepayan Sarkar,

Deepayan.Sarkar@R-project.org

示例

# 安装并加载包

install.packages("lattice")

library(lattice)

# 查看火山数据

head(volcano)

# 绘制火山的三维等高线图

contourplot(volcano)

# 绘制火山的三维水平图

levelplot(volcano)

# 绘制火山的三维线框图

wireframe(volcano)

# 查看汽车数据

head(mtcars)

# 绘制箱线图

bwplot(mtcars$mpg)

# 绘制平行坐标图

parallelplot(mtcars[1:3])

# 绘制散点图矩阵

splom(mtcars[c(1,3,4,5)])

# 绘制带状图

stripplot(mtcars$mpg~factor(mtcars$cyl))

leaflet

交互式地图

R语言绘图:28个实用程序包

开发

Joe Cheng,

joe@rstudio.com;

Bhaskar Karambelkar;

Yihui Xie;

Hadley Wickham;

Kenton Russell;

Kent Johnson;

Barret Schloerke;

Vladimir Agafonkin;

Brandon Copeland;

Joerg Dietrich;

Benjamin Becquet;

Norkart AS;

L. Voogdt;

Daniel Montague;

Kartena AB;

Robert Kajic;

Michael Bostock

示例

# 安装并加载包

install.packages("leaflet")

library(leaflet)

# 交互式地图

m=leaflet()

m=addTiles(m)

m

likert

李克特量表数据的可视化

R语言绘图:28个实用程序包

开发

Jason Bryer,

jason@bryer.org;

Kimberly Speerschneider

kimkspeer@gmail.com

示例

# 安装并加载包

install.packages("likert")

library(likert)

# 使用PISA量表数据

data(pisaitems)

items28 <- pisaitems[, substr(names(pisaitems), 1, 5) == "ST24Q"]

# 绘制条形图

l28 <- likert(items28)

summary(l28)

plot(l28)

maps

地图

R语言绘图:28个实用程序包

开发

Richard A. Becker;

Allan R. Wilks;

Ray Brownrigg

示例

# 安装并加载包

install.packages("maps")

install.packages("geosphere")

library(maps)

library(geosphere)

# 绘制世界地图

map("world")

maptools

地图

R语言绘图:28个实用程序包

开发

Roger Bivand,

Roger.Bivand@nhh.no;

Nicholas Lewin-Koh;

Edzer Pebesma;

Eric Archer;

Adrian Baddeley;

Nick Bearman;

Hans-Jörg Bibiko;

Steven Brey;

Jonathan Callahan;

German Carrillo;

Stéphane Dray;

David Forrest;

Michael Friendly;

Patrick Giraudoux;

Duncan Golicher;

Virgilio Gómez Rubio;

Patrick Hausmann;

Karl Ove Hufthammer;

Thomas Jagger;

Kent Johnson;

Sebastian Luque;

Don MacQueen;

Andrew Niccolai;

Edzer Pebesma;

Oscar Perpiñán Lamigueiro;

Tom Short;

Greg Snow;

Ben Stabler;

Murray Stokely;

Rolf Turner

示例

# 安装并加载包

install.packages("maptools")

library(maptools)

# 绘制非洲边界

data(wrld_simpl)

afr=wrld_simpl[wrld_simpl$REGION==2,]

plot(afr)

performanceAnalytics

绩效指标计算与可视化

R语言绘图:28个实用程序包

开发

Brian G. Peterson,

brian@braverock.com;

Peter Carl

示例

# 安装并加载包

install.packages("PerformanceAnalytics")

library(PerformanceAnalytics)

# 列出待计算变量

mydata <-mtcars[c('mpg','cyl','disp','hp','drat')]

# 绘制相关系数矩阵图

chart.Correlation(mydata, histogram=TRUE, pch=19)

plotly

交互式可视化

R语言绘图:28个实用程序包

开发

Carson Siever,

cpsievert1@gmail.com;

Chris Parmer,

chris@plot.ly;

Toby Hocking,

tdhock5@gmail.com;

Scott Chamberlain,

myrmecocystus@gmail.com;

Karthik Ram,

karthik.ram@gmail.com;

Marianne Corvellec,

marianne@plot.ly;

Pedro Despouy,

pedro@plot.ly

示例

# 安装并加载包

install.packages("plotly")

library(plotly)

# 查看火山数据

head(volcano)

# 绘制火山的三维交互图

p=plot_ly(z = volcano, type = "surface")

p

qcc

统计质量控制

R语言绘图:28个实用程序包

开发

Luca Scrucca,

luca.scrucca@unipg.it;

Greg Snow,

greg.snow@ihc.com;

Peter Bloomfield,

Peter_Bloomfield@ncsu.edu

示例

# 安装并加载包

install.packages("qcc")

library(qcc)

# 均值为10的序列,加上白噪声

x <- rep(10, 100) + rnorm(100)

# 测试序列,均值为11

new.x <- rep(11, 15) + rnorm(15)

# 标记出新的点

qcc(x, newdata=new.x, type="xbar.one")

qqman

曼哈顿图

R语言绘图:28个实用程序包

开发

Stephen Turner

示例

# 安装并加载包

install.packages("qqman")

library(qqman)

# 使用gwasResults数据绘制曼哈顿图

manhattan(gwasResults, chr="CHR", bp="BP", snp="SNP", p="P" )

REmap

地图

R语言绘图:28个实用程序包

开发

Dawei Lang,

dawei.lang@supstat.com

示例

# 安装并加载包

install.packages("devtools")

install_github("lchiffon/REmap")

library(devtools)

library(REmap)

# 标注起始点

origin<-c("济南","西安","成都")

destination<-c("西安","成都","济南")

# 制作迁徙地图

dat = data.frame(origin,destination)

out = remap(dat,title = "after-graduation trip ",subtitle= "zg434")

plot(out)

scatterplot3d

三维散点图

R语言绘图:28个实用程序包

开发

Uwe Ligges,

ligges@statistik.tu-dortmund.de;

Martin Maechler;

Sarah Schnackenberg

示例

# 安装并加载包

install.packages("scatterplot3d")

library(scatterplot3d)

# 生成数据

x1=round(rnorm(100,mean=80,sd=1))

x2=round(rnorm(100,mean=80,sd=5))

x3=round(rnorm(100,mean=80,sd=10))

x=data.frame(x1,x2,x3)

# 绘制三维散点图

scatterplot3d(x[1:3])

TeachingDemos

脸谱图

R语言绘图:28个实用程序包

开发

Greg Snow,

538280@gmail.com

示例

# 安装并加载包

install.packages("TeachingDemos")

library(TeachingDemos)

# 生成数据

x1=round(rnorm(100,mean=80,sd=1))

x2=round(rnorm(100,mean=80,sd=5))

x3=round(rnorm(100,mean=80,sd=10))

x=data.frame(x1,x2,x3)

# 绘制脸谱图

faces(x)

treemap

树图

R语言绘图:28个实用程序包

开发

Martijn Tennekes,

mtennekes@gmail.com

示例

# 安装并加载包

install.packages("treemap")

library(treemap)

# 生成数据

group=c("group-1","group-2","group-3")

value=c(13,5,22)

data=data.frame(group,value)

# 绘制树图

treemap(data, index="group", vSize="value", type="index")

vioplot

小提琴图

R语言绘图:28个实用程序包

开发

Daniel Adler,

dadler@uni-goettingen.de;

Romain Francois,

francoisromain@free.fr

示例

# 安装并加载包

install.packages("vioplot")

library(vioplot)

# 生成数据

treatment=c(rep("A", 40) , rep("B", 40) , rep("C", 40) )

value=c( sample(2:5, 40 , replace=T) , sample(c(1:5,12:17), 40 , replace=T), sample(1:7, 40 , replace=T) )

data=data.frame(treatment,value)

# 绘制小提琴图

with(data , vioplot( value[treatment=="A"] , value[treatment=="B"], value[treatment=="C"],  col=rgb(0.1,0.4,0.7,0.7) , names=c("A","B","C") ))

大家都在看

2017年R语言发展报告(国内)

精心整理 | R语言中文社区历史文章合集(作者篇)

精心整理 | R语言中文社区历史文章整理(类型篇)

R语言绘图:28个实用程序包

公众号后台回复关键字即可学习

回复 爬虫 爬虫三大案例实战  

Python

1小时破冰入门

回复 数据挖掘  R语言入门及数据挖掘

回复  人工智能 三个月入门人工智能

回复  数据分析师 数据分析师成长之路 

回复 机器学习 机器学习的商业应用

回复  数据科学 数据科学实战

常用算法

常用数据挖掘算法

本文由R语言中文社区 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。

转载、引用前需联系作者,并署名作者且注明文章出处。

本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Web Designer's Idea Book

The Web Designer's Idea Book

Patrick Mcneil / How / 2008-10-6 / USD 25.00

The Web Designer's Idea Book includes more than 700 websites arranged thematically, so you can find inspiration for layout, color, style and more. Author Patrick McNeil has cataloged more than 5,000 s......一起来看看 《The Web Designer's Idea Book》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具