用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年新年新气象!
作者:顾运筠。应用数学硕士,职业院校的统计老师。对机器学习和数据可视化感兴趣。
用R作Polar图等的更多相关文章
- R绘制韦恩图 | Venn图
解决方案有好几种: 网页版,无脑绘图,就是麻烦,没有写代码方便 极简版,gplots::venn 文艺版,venneuler,不好安装rJava,参见Y叔 酷炫版,VennDiagram 特别注意: ...
- Python中作Q-Q图(quantile-quantile Plot)
Q-Q图主要可以用来回答这些问题: 两组数据是否来自同一分布 PS:当然也可以用KS检验,利用python中scipy.stats.ks_2samp函数可以获得差值KS statistic和P值从而实 ...
- R语言---热图的制作
>install.packages("gplots") > library("gplots")> p <- data.frame(rea ...
- R语言-时间序列图
1.时间序列图 plot()函数 > air<-read.csv("openair.csv") > plot(air$nox~as.Date(air$date,& ...
- R语言-线图(二)
1.线图示例 plot()为高水平作图命令,axis().lines().legend()都为低水平作图命令 > rain<-read.csv("cityrain.csv&q ...
- 用R画韦恩图
#导入R包 library(grid)library(futile.logger)library(VennDiagram) #建立测试数据集 A = 1:150B = c(121:170,300:32 ...
- R 画structure图
id percent k1_B04_WL-1.fs_1 0.021 k31_B04_WL-1.fs_1 0.624 k21_B04_WL-1.fs_1 0.355 k1 K=3 数据输 ...
- 利用opencv作透明重叠人群密度热度图
在作热度图的时候我们经常需要将热度图调整透明度后叠加在原图上达到更好的展示效果.比如检测人气密度的热度图: (来自sensetime) 一般作图的时候会第一时间想到matplotlib,因为可以很方便 ...
- R提高篇(五): 描述性统计分析
数据作为信息的载体,要分析数据中包含的主要信息,即要分析数据的主要特征(即数据的数字特征), 对于数据的数字特征, 包含数据的集中位置.分散程度和数据分布,常用统计项目如下: 集中趋势统计量: 均值 ...
随机推荐
- WeUI中的Css详解
WeUI是微信Web服务开发的UI套件, 目前包含12个模块 (Button, Cell, Toast, Dialog, Progress, Msg, Article, ActionSheet, ...
- oracle关键字大全--注意不要乱用哦
遇到怀疑可能使用了关键字,就来搜一搜吧 ... Oracle 关键字(保留字) 大全 其实这个东西可以在oracle 上输入一个sql语句就可以得到: select * from v$reserved ...
- 基于Vuejs实现 Skeleton Loading 骨架图
原文地址:https://cloud.tencent.com/developer/article/1006169 https://mp.weixin.qq.com/s/qmyn6mGrO6hRKuvK ...
- CSS选择器、层叠相关的基础知识
CSS是Cascading Style Sheets的英文缩写,即层叠样式表.CSS2.1是W3C于2007年发布,现在推荐使用的.CSS3现在还处于开发中,有部分浏览器的新版本支持. 1. CSS ...
- Qt中使用DOM解析XML文件或者字符串二(实例)
介绍 在Qt中提供了QtXml模块实现了对XML数据的处理,我们在Qt帮助中输入关键字QtXml Module,可以看到该模块的类表.在这里我们可以看到所有相关的类,它们主要是服务于两种操作XML文档 ...
- vim:关于映射和跳出括号
先说如何自动补全. 命令:vim .vimrc inoremap ( ()<ESC>i inoremap [ []<ESC>i inoremap { {}<ESC> ...
- Meta Blogging
Meta Blogging 由来 偶然想到说如果哪一天cnblogs挂了,那之前记录的随笔怎么办?可不可以把它们给download下来本地保存一份.正好看到有个库叫requests, 干嘛不试试看呢. ...
- leetcode ---双指针+滑动窗体
一:Minimum Size Subarray Sum(最小长度子数组的和O(N)) 题目: Given an array of n positive integers and a positive ...
- JAVA ,JVM 调试
https://blogs.oracle.com/poonam/entry/analysis_of_strange_hotspot_crashes https://blogs.oracle.com/p ...
- Jmeter常见用法
Jmeter (底层语言是Java) 单进程 Loadrunner (底层语言是C) 多进程 性能更好,更稳定 Tomcat 线程模式(与Java有关的都是单进程) lr的支持最大并发 跟lic ...