R语言︱画图
笔者寄语:不论画啥,你先plot准没错。
| plot | 二维坐标绘图 |
| dotchart | 点图 |
| barplot | 条形图 |
| hist | 直方图 |
| pie | 饼图 |
| points | 添加点 |
| lines | 添加线 |
| text | 添加文字 |
| title | 添加标题 |
| boxplot | 箱线图 |
1、plot函数
##画图 plot(x~y,xlab="",ylab="",main="",xlim=c(0,45),ylim=c(0,45),pch=18,col=2,cex=5) #xlab/ylab,xy标题 #main,主标题 #xlim,ylim,xy线段范围 #pch,点的类型(圆形、棱形等) #col,线条的颜色 #cex,点的大小
2、分块展示
#预先在数据框中分块,2*2分块 par(mfrow=c(2,2),mar=c(3,3,2,1)) par(del) #画好需要关闭
3、箱型图
#箱型图 boxplot(x~y,data=iris) #依据y分类,求得x的箱型图
4、条形图
#条形图 barplot(x,beside=T,col=rainbow) #beside=T代表邻接条形图,F代表堆砌
5、直方图
#直方图 hist(iris$Petal.Width,freg=F) #freg=F,概率=频率/组距(离散概率密度特有的公式),当组距为1时,概率等于频率
加入一些其他元素——先
hist(iris$Petal.Width,freg=T) #freg=T,频率 lines(density(iris$Petal.Width),col=4) #概率密度 lines(x,dnorm(x,mean(iris$Petal.Width),sd(iris$Petal.Width)),col=red)#正态密度曲线
6、QQ图
#QQ图——检验正态性 qqnorm(x) qqline(x) shapiro.test(x) #正态性检验
7、带形图
#带形图 strpchart(y~x,vert=T,pch=1,method="jiter",jit=0.05) point(x,y,pch=16,cxe=1.5) arrows(x,y,x,y+se) arrows(x,y,x,y-se)
8、克利夫兰图
#克利夫兰图 dotchart
9、组合图
#组合图 pairs(iris[,2:4]) plot(iris[,2:4]) #与上面一样
10、雷达图
##雷达图 stars(x,full=F,draw.segments = T,key.loc =c(5,0.5) , mar =c(2,0,0,0) ) #full=F,代表半圆 #segments代表一段一段画 #注释图标位置 #图边距
11、直方图+帕累托图结合
帕累托图可以实现,同类元素的贡献率比较。
<span style="font-family: 'Microsoft YaHei'; font-size: 18px;">dishdata=read.csv(file="./data/catering_dish_profit.csv",header=TRUE)
barplot(dishdata[,3],col="blue1",names.arg=dishdata[,2],width=1,space=0,ylim=c(0,10000),xlab="菜品",ylab="盈利:元")
accratio=dishdata[,3]
for ( i in 1:length(accratio)){
accratio[i]=sum(dishdata[1:i,3])/sum(dishdata[,3])
}</span><span style="font-family:Microsoft YaHei;font-size:18px;">
</span>
先做一个直方图,然后把数据,以点的形式加入直方图中。
<span style="font-family:Microsoft YaHei;"><span style="font-size: 18px;">par(new=T,mar=c(4,4,4,4))
points(accratio*10000~c((1:length(accratio)-0.5)),new=FALSE,type="b",new=T)
axis(4,col="red",col.axis="red",at=0:10000,label=c(0:10000/10000))
mtext("累积百分比",4,2)
points(6.5,accratio[7]*10000,col="red")
text(7,accratio[7]*10000,paste(round(accratio[7]+0.00001,4)*100,"%")) </span><span style="font-size:18px;">
</span></span>
point加点;axis右边坐标轴,mtext右边坐标轴的名称,text给出本文。
12、图形添加物
有添加线lines、点points、图例legend等其他。
legend(x, y, legend, ...) :在当前图的特定位置增加图例(legend)。标识字符,线条格式,颜色等都是被字符向量legend 中的标签所注释。另外一个含有画图单位对应值的参数v (一个和legend 长度一致的向量)是必须给定的:
legend(x,y,fill=v,col=v,lty=v, lwd=v,pch=v) #legend( , fill=v)填充盒子的颜色 #legend( , col=v)点或者线条的颜色 #legend( , lty=v)线条样式 #legend( , lwd=v)线条宽度 #legend( , pch=v)标识字符(字符向量)
详细可参考:http://blog.sina.com.cn/s/blog_5de124240101q5vw.html
R语言︱画图的更多相关文章
- R 语言画图的基本参数
R 语言画图的基本参数 点 点的种类 点的种类参数为 pch,每一种符号对应一个数字编号 # 点有25种,为了展示25种点 x = 1:25 y = 1:25 x ## [1] 1 2 3 4 5 6 ...
- R语言画图教程之盒形图
R语言画图教程之盒形图 我们之前有分享过一系列的R语言画图代码(PCA图.Pathway图.火山图.RDA图.热图),今天再来补充一个盒形图(箱形图)的代码. 以下代码只是示例,不能直接搬来用哦,注意 ...
- R语言画图小结
本文以1950年到2010年期间我国的火灾统计数据为例,数据如下所示: (0)加载数据 data<-read.csv("E:\\MyDocument\\p\\Data\\1950~20 ...
- [R语言画图]气泡图symbols
绘制气泡图主要使用函数symbols(x,y,circle=r).当中x.y是坐标轴,r是每一个点的半径. x<-rnorm(10) y<-rnorm(10) r<-abs(rnor ...
- R语言画图实例-参考R语言实战
dose <- c(, , , ,) drugA <- c(, , , , ) drugB <- c(, , , , ) # 数据准备 opar <- par(no.reado ...
- R语言画图布局摆放(layout)
require(ggplot2) require(Cairo) require(grid) p = ggplot(iris,aes(x = Species,y = Sepal.Length,colou ...
- R语言画图基础参数设置
Graphical Parameters You can customize many features of your graphs (fonts, colors, axes, titles) th ...
- R语言画图
转http://www.cnblogs.com/jiangmiaomiao/p/6991632.html 0 引言 R支持4种图形类型: base graphics, grid graphics, l ...
- R语言画图,根据正负值画不同颜色,并且画水平线或者垂直线
col=ifelse(x<0, "blue", "red") #如果x值为负值,用蓝色表示,反之,用红色表示 abline(v=0,col="g ...
随机推荐
- 小白入门Docker基础篇
docker是什么 百科上的解释是这样的: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化 ...
- ABP官方文档翻译 7.3 Quartz集成
Quartz集成 介绍 安装 创建Jobs 计划安排Jobs 更多 介绍 Quartz是一个全功能的.开源的job计划安排系统,可以用在小的apps也可以用于大型的企业系统.Abp.Quartz包简化 ...
- [用CDQ分治解决区间加&区间求和]【习作】
[前言] 作为一个什么数据结构都不会只会CDQ分治和分块的蒟蒻,面对区间加&区间求和这么难的问题,怎么可能会写线段树呢 于是,用CDQ分治解决区间加&区间求和这篇习作应运而生 [Par ...
- BZOJ 3550: [ONTAK2010]Vacation [单纯形法]
有3N个数,你需要选出一些数,首先保证任意长度为N的区间中选出的数的个数<=K个,其次要保证选出的数的个数最大. 好像都是费用流... 单纯性裸题呀... 注意每个数最多选1次 #include ...
- BZOJ 3670: [Noi2014]动物园 [KMP]
求这玩意: 对于字符串S的前i个字符构成的子串,既是它的后缀同时又是它的前缀,并且该后缀与该前缀不重叠,将这种字符串的数量记作num[i] 对1,000,000,007取模的结果 n≤5,L≤1,00 ...
- zabbix server总是stoped,找到此方法解决了问题
zabbix日志报错: One child process died (PID:8885,exitcode/signal:1). Exiting ... syncing history data... ...
- Cookie禁用 获取session
转自:http://blog.csdn.net/u010433704/article/details/40950599 Cookie与 Session,一般认为是两个独立的东西,Session采用的是 ...
- HTTPS的原理解析
http://www.cnblogs.com/alisecurity/p/5939336.html 外加文档
- shell的if嵌套
shell脚本编写中,if是可以嵌套的, 注意,if条件表达式[]中的空格,以及后面的then就行了 if条件表达式后面的分号":"可有可无,不影响. 代码如下 myFile='c ...
- git取消文件跟踪
在使用git的时候,有些文件是不需要上传的,所以就可以修改 .gitignore 例如: 如果是对所有文件都取消跟踪的话,就是 git rm -r -cached . //不删除本地文件 git ...