手把手: 如何用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年新年新气象!

原文发布时间为:2016-01-04

时间: 2024-11-02 07:28:58

手把手: 如何用R作Polar图等的相关文章

手把手:如何用R制作动态图

如何用R制作动态的统计图呢?下面我们以"大数据文摘"国庆献礼的世界独立进程为例,手把手地教大家如何用R制作动态图. 安装制作GIF所需要的ImageMagic程序 从http://www.imagemagick.org/script/binary-releases.php网址下载相关的ImageMagic.exe.安装ImageMagic.exe.安装完成后启动Rstudio编写代码. 载入制作动画和地图的R程序包 library(animation) library(maps) 输入

如何用php作线形图的函数

很高兴大家对PHP如此的情有独钟! 下面就给大家介绍php作线形图的函数: /* 函数说明 $data:y轴数据(数组) $graphdata:y轴数据--百分比(数组) $label:x轴数据(数组) $height:图像高度 $width:图像宽度 $font:字号 $dot:决定点的大小 $bg:背景色 $line :线色 $text :文本色 $dotcolor:点色 $file:输出图像文件名 */ function qximage($data , $graphdata, $label

RKWard v0.5.5发布 一款R语言的图形化开发工具

RKWard v0.5.5发布一款R语言的图形化开发工具.R是用于统计分析.绘图的语言和操作环境.R是属于GNU系统的一个自由.免费.源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具. 更新说明: New features and improvements - Re-organize the default toolbar actions of the main window - Detached windows are now restored in detached state w

一文详解如何用 R 语言绘制热图

简介 本文将绘制静态与交互式热图,需要使用到以下R包和函数: ● heatmap():用于绘制简单热图的函数 ● heatmap.2():绘制增强热图的函数 ● d3heatmap:用于绘制交互式热图的R包 ● ComplexHeatmap:用于绘制.注释和排列复杂热图的R&bioconductor包(非常适用于基因组数据分析) 数据准备 使用R内置数据集 mtcars df <- as.matrix((scale(mtcars))) #归一化.矩阵化 使用基本函数绘制简单简单热图 主要是函

利用Photoshop 6.0为3DMAX作贴图

市面上有许多关于3DMAX的书籍,主要介绍3DMAX的基本使用方法,在有些随书附送的光盘里,会提供该书实例所用到的贴图.但是一旦放下了书本,离开了作者的贴图后,我们自己的作品就显得苍白无力了.尽管3DMAX也有很多的材质和程序贴图可以使用,但往往很难满足创作的实际需要,这时就需要我们开动脑筋,自给自足了.在下面的例子里,我们利用Photoshop6.0的滤镜为在3DMAX4.0中创建的苹果模型制作贴图,请跟我来吧. 漫反射贴图 要使用3DMAX做出令人信服的效果,材质和贴图是至关重要的.其中漫反

如何用可牛影像制作闪图

  可牛影像做闪图方法: 打开可牛影像,打开一张图片,此时如下图.     以"闪图场景"为例,左上角单击"闪图场景". 然后在软件界面右上角,选择一个效果,这里选取的是第一个效果.   弹出对话框,选择立即应用.即生成示例效果.   可牛影像的转场效果不少,而且还可以通过在线获取得到更多的效果.最后看一下保存选项,图片保存的路径名称大小等.   想了解可牛影像怎么做闪字的朋友可以点击:可牛影像怎么制作闪字. 注:更多精彩教程请关注三联电脑教程栏目,三联电脑办公群:

如何用R进行文本内容的情感分析

一.关于文本内容的情感分析 一篇文章反映了什么态度?褒义还是贬义?肯定还是否定?喜怒哀乐愁,反映的是哪种情绪特征?对这些内容的分析就是情感分析,或者叫情感倾向分析.情感倾向 可认为是主体对某一客体主观存在的内心喜恶,内在评价的一种倾向.当然,有正常阅读能力的人,在看了一篇文章后能够判断文章的情感和极性,但这是主观体 验,不是量化数据.在对文章进行分析的时候,通常需要进行量化的分析,显得更加直观.客观. 情感分析基本上有两种方法,一种是极性分析,一种是情感类别分析.前者分析文章的总体态度是肯定还是

如何用 R 语言的 Shiny 库编写 web 程序

Shiny 是一个来自 RStudio 的工具包,它让创建 web 程序变得更容易.它能从 R 控制台轻松安装,只需要一行,就可以加载好最新的稳定版本来使用.这里有一个很棒的教程,它可以在前面课程基础上,带着你理解应用架设的概念. Shiny 的授权是 GPLv3,源代码可以在 GitHub 上获得. 这是一个用 Shiny 写的简单的小 web 程序: library(shiny) server <- function(input, output, session) { observe({ m

手把手|如何用Python绘制JS地图?

Folium是建立在Python生态系统的数据整理(Datawrangling)能力和Leaflet.js库的映射能力之上的开源库.用Python处理数据,然后用Folium将它在Leaflet地图上进行可视化. 概念 Folium能够将通过Python处理后的数据轻松地在交互式的Leaflet地图上进行可视化展示.它不单单可以在地图上展示数据的分布图,还可以使用Vincent/Vega在地图上加以标记. 这个开源库中有许多来自OpenStreetMap.MapQuest Open.MapQue