在ggplot中,未来更好的数据可视化效果,我们有时候可能要用到一些坐标转换的操作,比如要画横向条形图或者蜘蛛图等。

coord_cartesian(xlim = NULL, ylim = NULL)

笛卡尔坐标:从来看coord_cartesian的参数相对比较简单,x和y的数据限定范围

coord_flip(...)

横向转换坐标:把x轴和y轴互换,没有特殊参数

coord_trans(x = "identity", y = "identity", limx = NULL, limy = NULL)

坐标形式转换:包括对数转换,平方根转换等,这里x和y 的值可以是log10,log2或squal等,另外两个参数也是限定坐标范围

coord_equal(ratio=1, ...)

等坐标转换:使用这个函数后,x轴和y轴坐标会被转换成相等形式,此时图形会产生较大的缩放,radio可以进一步调整缩放比例(x和y的比值)

coord_polar(theta = "x", start = 0, direction = 1)

极坐标转换:可以做出蜘蛛图或饼图的效果,参数方面theta 可以选择x或y,表示外延的坐标,start是坐标开始的角度,默认其实位置是12点钟,

direction 表示数据的方向,1是顺时针,-1为逆时针。

下面我们来看些具体的例子:

library(ggplot2)
p<-ggplot(mtcars,aes(mpg,hp))+geom_point(color="blue",size=2)
p+coord_cartesian()

  

笛卡尔坐标转换和正常情况下画图的效果是一样的。

p+coord_flip()

  

上图横坐标和纵坐标进行了互换,用条形图看可能更明显一些。

pp<-ggplot(mtcars,aes(cyl))+geom_bar(fill="blue",width=0.8)
pp

  

pp+coord_flip()

  

p+coord_trans(x="log2",y="sqrt")

  

对坐标轴进行对数和平方根转换,在之前的scale设置中有提到过,相对scale设置而言,coord_trans的优势在于可以对x和y 进行一次性转换。

p+coord_equal()

  

正常情况下,如果直接对图形进行coord_equal操作,最后可是效果一般都非常差,因为大多数时候x和y的数据基本都不相同而且差距可能也比较大,

相对的对ratio参数进行设置是比较明智的选择。

p+coord_equal(ratio=0.08)

  

这张图的效果,相对于上一张就好多了,当然你还可以对ritio参数进行进一步设置,达到更好的效果。

p+coord_polar(theta="x")

  

p+coord_polar(theta="y")

  

可以看出两张图最外圈坐标的变化,是由theta参数的选择来决定的。

pp+coord_polar(theta="x")

  

pp+coord_polar(theta="y")

  

使用条形同进行转换的效果变成以上的样子,图形虽然炫酷,但可视性不如条形图,如果cyl在三个水平下数据条目是一样的,画出的结果就是一个饼图。

这个方法是ggplot中用来实现饼图的方式。

ggplot2 坐标系相关设置(coord)的更多相关文章

  1. ggplot2 scale相关设置-坐标转换

    ggplot2 scale相关设置-坐标转换 在R中坐标轴转换有多种形式,包括对数转换,平方根转换以及坐标刻度前后进行调换 用到的函数分别有: scale_x_log10(...) scale_y_l ...

  2. ggplot2 scale相关设置

     ggplot2   scale相关设置 标度设置:主要用于在ggplot画图后的各个图层进行调整设置. 1.相关属性scale设置 包括scale_size().scale_alpha().scal ...

  3. ggplot2 theme相关设置—矩形设置(rect)

    在主题设置中,rect设置主要用于设置图例和面板 element_rect(fill = NULL, colour = NULL, size = NULL, linetype = NULL, colo ...

  4. ggplot2 theme相关设置—线条设置

    在ggplot的主题射中有一部分图需要对图中的部分线条进行设置 element_line(colour = NULL, size = NULL, linetype = NULL, lineend = ...

  5. ggplot2 theme相关设置—文本调整

    在geom设置和scale设置之后,要想把图画的漂亮,theme设置是比不可少的 在theme 设置中element_text()是一项很重要的内容 element_text(family = NUL ...

  6. ggplot2 geom相关设置—分布图

    分布在R中应该算是个比较重要的内容,而通过画图来展示数据的分布,可以更直观的让我们了解数据的分布情况 直方图 geom_histogram(mapping = NULL, data = NULL, s ...

  7. ggplot2 scale相关设置2—时间设置

    在scale设置中,常用的日期方面的设置函数包括: scale_x_date(),scale_y_date(),scale_x_datetime(),scale_y_datetime()   接下来, ...

  8. ggplot2 geom相关设置—点重合处理(jitter)

    在R中散点图的时候会经常出现,点重合比较严重的现象,这对我们寻找数据规律或者观察数据有很大的干扰. 所幸的是R中,可以用geom_jitter()函数来调整,消除点的重合. geom_jitter(m ...

  9. ggplot2 geom相关设置——添加线条

    在作图过程中,有时我们可能需要通过添加一些线条,使得图形的可视化变得更好,比如一些趋势线等等. 下面我们来看下,一些线条的添加方式. geom_abline(mapping = NULL, data  ...

随机推荐

  1. iOS软件架构——架构模式(Architectural Pattern)

    一个架构模式描述软件系统里的基本的结构组织或纲要.架构模式提供一些事先定义好的子系统,指定它们的责任,并给出把它们组织在一起的法则和指南.有些作者把这种架构模式叫做系统模式[STELTING02]. ...

  2. 想入门webpack,这篇就够了

    申明:本文转载自简书 文/zhangwang(简书作者)原文链接:http://www.jianshu.com/p/42e11515c10f#著作权归作者所有,转载请联系作者获得授权,并标注" ...

  3. Socket编程中 setsockopt的作用

    功能描述: 获取或者设置与某个套接字关联的选 项.选项可能存在于多层协议中,它们总会出现在最上面的套接字层.当操作套接字选项时,选项位于的层和选项的名称必须给出.为了操作套接字层的选项,应该 将层的值 ...

  4. ng1笔记

    AngularJS 通过 ng-directives 扩展了 HTML. ng-app 指令定义一个 AngularJS 应用程序. ng-model 指令把元素值(比如输入域的值)绑定到应用程序. ...

  5. Maven之(四)Maven命令

    常用命令 从某种意义上来说,软件是帮助不懂程序的人来操作计算机的,图形化界面尤其如此.在上个世纪,比尔盖茨之所以成为世界首富,微软之所以IT界的巨鳄,就是因为Windows开图形化操作之先河,并抢先占 ...

  6. makefile文件知识点记录

    1赋值 = 是最基本的赋值:= 是覆盖之前的值?= 是如果没有被赋值 += 是添加等号后面的值 1.“=” make会将整个makefile展开后,再决定变量的值.也就是说,变量的值将会是整个make ...

  7. 今天学习的裸板驱动之GPIO实验学习心得

    GPIO分成很多组今天学习的这个芯片的GPIO有GPA-GPJ个组.具体可在芯片手册中看到. GPIO有很多寄存器,今天学习的这个芯片,他的寄存器分为以下几种类型: (1)端口控制寄存器 (2)端口数 ...

  8. 关于FileSystemXmlApplicationContext和ClassPathXmlApplicationContext路径问题

    在码代码的时候发现使用这两个方法写路径的时候总是存在问题,所以百度了一下解决了这个问题. 关于FileSystemXmlApplicationContext这个路径有2总写法 有盘符的代表的是绝对路径 ...

  9. 安卓平台 全面支持软解和硬解的SDK-Demo源代码开放

    专业做视频编解码的SDK开发工作. 2015年12月1日10:46:55: 更新到1.5.0版本 功能列表: 基本播放: 1,正常播放, 支持MP4,FLV,AVI,TS,3GP,RMVB,WM,WM ...

  10. 在GNU/Linux下将CD音乐转为mp3

    以前我欣赏古典音乐都是听的CD,因而珍藏了不少光盘以及下载到电脑上的ape与flac格式的音乐文件.随着手机硬件性能(如电池续航能力.处理器速度.音质.存储容量等)和软件功能(音乐播放器对于曲目的管理 ...