ggplot2 坐标系相关设置(coord)
在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)的更多相关文章
- ggplot2 scale相关设置-坐标转换
ggplot2 scale相关设置-坐标转换 在R中坐标轴转换有多种形式,包括对数转换,平方根转换以及坐标刻度前后进行调换 用到的函数分别有: scale_x_log10(...) scale_y_l ...
- ggplot2 scale相关设置
ggplot2 scale相关设置 标度设置:主要用于在ggplot画图后的各个图层进行调整设置. 1.相关属性scale设置 包括scale_size().scale_alpha().scal ...
- ggplot2 theme相关设置—矩形设置(rect)
在主题设置中,rect设置主要用于设置图例和面板 element_rect(fill = NULL, colour = NULL, size = NULL, linetype = NULL, colo ...
- ggplot2 theme相关设置—线条设置
在ggplot的主题射中有一部分图需要对图中的部分线条进行设置 element_line(colour = NULL, size = NULL, linetype = NULL, lineend = ...
- ggplot2 theme相关设置—文本调整
在geom设置和scale设置之后,要想把图画的漂亮,theme设置是比不可少的 在theme 设置中element_text()是一项很重要的内容 element_text(family = NUL ...
- ggplot2 geom相关设置—分布图
分布在R中应该算是个比较重要的内容,而通过画图来展示数据的分布,可以更直观的让我们了解数据的分布情况 直方图 geom_histogram(mapping = NULL, data = NULL, s ...
- ggplot2 scale相关设置2—时间设置
在scale设置中,常用的日期方面的设置函数包括: scale_x_date(),scale_y_date(),scale_x_datetime(),scale_y_datetime() 接下来, ...
- ggplot2 geom相关设置—点重合处理(jitter)
在R中散点图的时候会经常出现,点重合比较严重的现象,这对我们寻找数据规律或者观察数据有很大的干扰. 所幸的是R中,可以用geom_jitter()函数来调整,消除点的重合. geom_jitter(m ...
- ggplot2 geom相关设置——添加线条
在作图过程中,有时我们可能需要通过添加一些线条,使得图形的可视化变得更好,比如一些趋势线等等. 下面我们来看下,一些线条的添加方式. geom_abline(mapping = NULL, data ...
随机推荐
- 写一个MyList
首先定义接口 using System; using System.Collections.Generic; using System.Linq; using System.Text; using S ...
- glib实践篇:父类与子类
前言: 众所周知,C语言是一门面向过程的语言,但是不代表就得跟面向对象完全绝缘,在C语言库glib中有gobject那么一套面向对象的机制,基于C语言的面向对象设计便是基于该实现机制. 今天所要实践的 ...
- Android高级开发专题晋升班
Android高级开发专题晋升班 适用人群:1-3年以上经验的开发者丨学员平均薪酬20K/月
- delphi 输入文件相对路径的更改,更改成用户的
- struts2.0中struts.xml配置文件详解
先来展示一个配置文件 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration ...
- RockMongo 安装
1. yum install php-pecl-http php 2. yum install httpd 3. yum install php-devel 4. pecl install mongo ...
- openstack私有云布署实践【9.3 主从controller单向同步glance-image目录】
采用Rysnc单向同步,而不用双方实时同步,原因是在历史的运行过程中,我们发现,有些镜像包太大,当在主用的glance将镜像保存时,并不是一时半会就把镜像保存好,当主用在保存时,备用节点又在实时同步那 ...
- 第一百二十节,JavaScript事件对象
JavaScript事件对象 学习要点: 1.事件对象 2.鼠标事件 3.键盘事件 4.W3C与IE JavaScript事件的一个重要方面是它们拥有一些相对一致的特点,可以给你的开发提供更多的强大功 ...
- FormsCookieName保存登录用户名的使用
一,写一个类来实现 using System; using System.Collections.Generic; using System.Linq; using System.Web; using ...
- mysql 时间
显示当前时间: mysql> select now(); +---------------------+ | now() | +---------------------+ | -- :: | ...