加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

R语言作图——坐标轴截断画图

(2016-11-29 02:36:36)
分类: R语言

1坐标轴截断画图

小伙伴们经常在群里或论坛中提出这样的疑问:遇到的数据不在一个数量级上,但又要在图上同时反映大数据和小数据的变化规律,需要对坐标轴进行截断,怎么破?

向大家推荐R语言plotrix包中的axis breaks, gap.plot, gap.barplot和gapboxplot进行画图(使用excel进行截断坐标轴的同学请自行飘过)。

1. plotrix包安装

如果你还没有安装plotrix包,请抓紧安装,打开R输入界面,输入如下代码:

>install.packages ("plotrix")

>library (plotrix)

2. 相关介绍

axis breaks主要是在已生成图片上直接进行坐标轴的截断,留下一个个缺口,“简单粗暴”,但坐标轴的实际长度并没有变化,看似没什么用处,然而真的如此么?别着急,请往下移。

接着就是gap.plot, gap.barplot 和 gapboxplot,它们的用法相似,可以画出截取坐标轴后的散点图,柱状图和箱线图,下面以柱状图为例进行说明。

3. 主要用法

gap.barplot的主要用法为:gap.barplot (y,gap,xaxlab,xtics,yaxlab,ytics,xlim,ylim,xlab, ylab, col),主要参数为(详见help("gap.barplot")):

这么多参数,小编自己都有点晕乎啦

 

 

打起精神,实战来啦!假设一组数据w为森林里15种植株的生长高度(假设哦):

> w <- c(75, 64.4, 47.3, 66.9, 456, 80.6, 70, 55.8, 57.9, 561, 58.6, 61.2, 50.3, 54.6, 57.8)

x <- c(1:15)

>gap.barplot(w,gap=c(90,420),xaxlab=x,ytics=c(50,70,450,500),col=rainbow(15),xlab ="mumbers", ylab = "height", main="test image")

可得到如下图片:

 http://s8/mw690/001WHBZHzy76MyJfPFle7&690

如图所示:坐标轴截好了,但你是不是感觉到哪里不对了?等等,中间那两道横线是什么鬼,这么难看的图片!!

 

这个时候axis breaks就派上用场了:

其主要用法为axis.break(axis=1,breakpos, bgcol, breakcol, style, brw),主要参数为 (详见help("axis.break")):

实现代码如下:

 

 

>axis.break(2,90,breakcol="snow",style="gap")##去掉中间的那两道横线;

>axis.break(2,90*(1+0.02),breakcol="black",style="slash")##在左侧Y轴把gap位置换成slash;

>axis.break(4,90*(1+0.02),breakcol="black",style="slash")##在右侧Y轴把gap位置换成slash;

http://s6/mw690/001WHBZHzy76Mz4ov0pb5&690

Now,现在看着是不顺眼多啦?好啦,坐标轴截取部分要收工啦,gap.plot,gapboxplot 和 gap.barplot的用法相似,其实gap.plot, gap.barplot 和 gapboxplot三个函数并非完美,它们并不能完整使用出plot, barplot 和 boxplot的所有参数,没有完美的函数,只有对完美不断的追求,有兴趣的小伙伴可以去ggplot继续挖掘喽。 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有