用R作Polar图等

用R作如下的各国Gini系数的Polar barChart:

作上图的R代码为:

library(ggplot2)

GiniData<- read.csv(‘IncomeInequality.csv‘,head=T)

Gini<- ggplot(GiniData, aes(x=paste(GiniIndex,Country),y=GiniIndex,fill=GiniIndex%/%10))

Gini<- Gini +geom_bar(stat="identity",position="dodge")+coord_polar()

Gini<- Gina + scale_fill_continuous(high="darkred",low="darkgreen")

Gini<- Gini + theme(

panel.background=element_rect(fill="white",colour = "white",size=0),

axis.text=element_blank(),

axis.title=element_blank(),

legend.title=element_blank())

x <-c(1:dim(GiniData)[1])

Gini +geom_text(

aes(

x=x,

label=paste(GiniData$GiniIndex,GiniData$Country),

angle=270-x/134*360,

hjust=1),                           #hjust控制标签的对齐方式

y=GiniData$GiniIndex+3,

size=3,

vjust=0)

有关颜色变化的代码,用黄色的底纹标示了出来。

还可以试一下angle=90-x/134*360,hjust=0。这样的话,文字的方向会反过来。

作图的相关数据和结果,可以参看http://www.rpubs.com/helengyy/135140

把中国的Gini系数标出来的Polarbar Chart:

作上图的R代码为:

Gini<- ggplot(GiniData, aes(x=paste(GiniIndex,Country),y=GiniIndex,

fill=(sign(GiniIndex-41.60)+sign(Country=="Coted‘lvoire")*2)*sign(Country!="China")))

Gini<- Gini + geom_bar(stat="identity",position="dodge")+coord_polar()

Gini<- Gini + scale_fill_continuous(high="darkred",low="darkgreen")

Gini<- Gini + theme(

panel.background=element_rect(fill="white",colour = "white", size=0),

axis.text=element_blank(),

axis.title=element_blank(),

legend.title=element_blank())

x <-c(1:dim(GiniData)[1])

Gini +geom_text(

aes(

x=x,

label=paste(GiniData$GiniIndex,GiniData$Country),

angle=270-x/134*360,

hjust=1),                #hjust控制标签的对齐方式

y=GiniData$GiniIndex+3,

size=3,

vjust=0)

代码中和第1张图不一样的地方,也用黄色底纹标示出来了。

以最大值最小值为顶的箱图:

假设,我们有A、B、C、D、E班级的某一门科目的最高分和最低分,还有整个年级的平均分,我们用箱图来观察各班最高分最低分距年级平均分的距离。R代码如下:

x <- matrix(c(36,97,33,89,45,99,51,93,47,88),2,5)

boxplot(x,medlty="blank",

#medlty="blank"就是把四分位盒式图(箱图)的须须去掉

names=c("A","B","C","D","E"),

col="pink", boxwex=0.35)

abline(h=71,col="navy", lwd=2, lty=5)

表示数据在最大最小之间位置的线型图:

若某位同学A, B, C, D, E五门课的成绩

X <- matrix(c(36,88,97,33,86,89,45,77,99,51,90,93,47,65,88),3,5)

Y <-c(1:5)

plot(c(X[1,],X[3,],X[2,]),c(Y,Y,Y),

pch = c(rep(19,10),rep(4,5)),

cex = 1.5,

col = c(rep("seagreen",10),

rep("magenta",5)),

lwd = 2,

xlab = "成绩",ylab= "科目",

yaxt = "n")                     #y轴的坐标标签去掉

#设置y轴的坐标标签

axis(2,at = c(1:5), labels = c("A","B","C","D","E"))

arrows(c(X[2,],X[2,]),c(Y,Y),

c(X[1,],X[3,]), c(Y,Y),

col = "springgreen",

lwd = 2,

length = 0.15,

angle = 20,

)

从图中可以看出该学生的成绩离最低分近还是靠近最高分。

祝大家2016年新年新气象!

作者:顾运筠。应用数学硕士,职业院校的统计老师。对机器学习和数据可视化感兴趣。

时间: 2024-10-15 05:05:25

用R作Polar图等的相关文章

R绘制韦恩图 | Venn图

解决方案有好几种: 网页版,无脑绘图,就是麻烦,没有写代码方便 极简版,gplots::venn 文艺版,venneuler,不好安装rJava,参见Y叔 酷炫版,VennDiagram 1. 网页版的就不说了,非常简单,直接输入数据就行: 2. 极简版 options(repr.plot.width=4, repr.plot.height=5) vp <- gplots::venn(list(Nup=names(moduleListN_DEG[["up"]]), Ndown=n

R 作饼形图

使用R语言作图和分析很久了,一直都想把常见的一些图形的做法记下来,今天开始实践. data=seq(1,10,length.out=10) ratio=paste(round(data/sum(data),4)*100,"%",sep='') labels=c('One','Two','Three','Four','Five','Six','Seven','Eight','Nine','Ten') slide_labels=paste(labels,ratio,sep=' ') pie

R语言做图plot参数

函数名称:plot 用       途:作图 用       法:plot(x, y, --) 参       数: 1.符号和线条 pch:指定绘制点所使用的符号,取值范围[0, 24],其中4是"差号",20是"点" cex:指定符号的大小.cex是一个数值,表示pch的倍数,默认是1.5倍 lty:指定线条类型.lty=1代表实线,2至6都是虚线,虚的程度不一样 lwd:指定线条宽度,默认值为lwd=1,可以适当修改1.5倍.2倍等 2.颜色 col:默认绘图

R语言对照图

CCA <-c(4959,2324) names(CCA)<-C("A") CCB <-c(7010,2333) names(CCA)<-C("B") CC <- cbind(CCA, CCB) barplot(t(CC), beside = TRUE,legend = c("tomcat", "netty"), width = c(10, 10), args.legend = list(x =

R语言对比图

CCA <-c(4959,2324) names(CCA)<-C("A") CCB <-c(7010,2333) names(CCA)<-C("B") CC <- cbind(CCA, CCB) barplot(t(CC), beside = TRUE,legend = c("tomcat", "netty"), width = c(10, 10), args.legend = list(x =

可视化篇:R可视化--迁徙/通勤图

写在最前 下面是<可视化篇:效果图>中第1.4.5.6.7张的实现说明 使用工具为R语言 工作后经常要做一些比较贴合用户级别的可视化,R的ggplot2在做一些学术或者理论研究上的可视化时,效果是非常好,基本上能想到的图ggplot都能画出(不要纠结双坐标和3D) 在作静态图时,ggplot2+AI可以展现出印刷级别的效果,具体可以查看:http://theinformationcapital.com/ 这里要感谢数据人网一位朋友,是他介绍的这本书. 在作动态图或者可交互的图表时,R+js是一

扩增子图表解读3热图:差异菌、OTU及功能

热图是使用颜色来展示数值矩阵的图形.通常还会结合行.列的聚类分析,以表达实验数据多方面的结果. 热图在生物学领域应用广泛,尤其在高通量测序的结果展示中很流行,如样品-基因表达,样品-OTU相对丰度矩阵非常适合采用热图呈现. 热图优点 因为人读数字需要思考和比较,而对颜色识别能力非常强,采用颜色的深浅代替数据表是非常高效的呈现方式,也便于从中挖掘规律. 热图在非常小的区域展示了大量的基因表达/细菌丰度数据,即可以快速比较组间的变化,同时还可以显示组内每个样品的的丰度,以及组内各样品间的重复情况.

Unity Shaders and Effects Cookbook (2-4) 压缩和混合纹理贴图:使用灰度图存储插值信息

这一节看了几次才慢慢的读懂. 首先是这个灰度图,为什么叫灰度图,是因为 这个图片中的 R.G.B 存放的都是同一份数据,打开Unity 来调一下颜色看看 更直观. 可以看到,当 R.G.B 三个值相同的时候,图片是只有黑白,而丢失了其它的颜色的,所以我们叫灰度图. 什么时候用到灰度图? 本文转自http://blog.csdn.net/huutu http://www.thisisgame.com.cn 比如说高度图,在这个坐标的点,海拔高,就记作 1,海拔低就记作0 .把这一份数据 同时存储到

R语言概述

R是一个有着统计分析功能及强大作图功能的软件系统,是由Ross Ihaka和Robert Gentleman共同创立.它是属于GNU系统的一个自由.免费.源码开放的软件,同一时候也是一个用于统计计算和统计制图的优秀工具. 一.R的发展历史 要说R.就不得不先来说一下S语言. 1980年左右.AT&T贝尔实验室设计出一种在统计领域广泛使用的S语言. S语言是一种解释型语言.被设计用来进行数据探索.统计分析和作图. S语言最初的实现版本号主要是S-PLUS.它是一个基于S语言的商业软件,由MathS