1.数据集相加符号 %+%

2.图形属性映射 aesc()函数

aes(x=mpg,y=wt)  把mpg属性映射为x,wt属性映射为y

图层图形属性可以添加、修改和删除映射。

3.位置调整参数

4.条件筛选函数

big_cities<-subset(us.cities,pop>500000)

筛选出数据集中,特征变量pop大于500000的数据集

5.固定标度的定义域

  • limits:固定标度的定义域。限制定义域可以帮助我们移除不想在图形上展示的数据(即设置比数据的完整范围更小的limits),同时也可以保证要进行比较的多个图形中的绘制范围一致。 任何不在此标度定义域内的值均被丢弃。
  • breaks和labels:breaks控制着显示在坐标轴或图例上的值,即坐标轴上应该显示哪些刻度线的值,或一个连续型标度在一个图例中将被如何分段。labels指定了应在断点处显示的标签。若设置了labels,则必须同时指定breaks。

注意区分limits和breaks,如下:

p<-qplot(cyl,wt,data=mtcars)
p
p+scale_x_continuous(breaks=c(5.5,6.5))
p+scale_x_continuous(limits=c(5.5,6.5))

对应的图分别为

图p                                                             图breaks                                                        图limits

 6.位置标度有关的一对函数 xlim()和ylim()

如下所示:

xlim(10,20) :一个从10到20的连续型标度

ylim(20,10): 一个从20到10的反转后连续型标度

xlim("a","b","c"):一个离散型的标度

xlim(as.Date(c("2008-05-01","2008-08-01"))):一个从2008年5月1日到2008年8月1日的日期型标度。

最常用的连续型位置标度是scale_x_continuous和scale_y_continuous,它们均将数据映射到x轴和y轴。每个连续型标度均可接受一个trans参数,允许指定若干种线性或非线性的变换,而每一种变换都是由所谓的“变换器”来实现的,变换器描述了变换本身和对应的逆变换,以及如何去绘制标签。常用的变换器如下图

变换通常用来修改位置标度,所以对于x,y和z标度都是有简便写法的,scale_y_log10()与scale_y_continuous(trans="log10")是等价地。这样y轴的标度就会以log10(y)为单位,而不会以y为单位.

7.日期和时间

值基本上属于连续型,但在标注坐标轴时有着特殊的处理方式。目前我们仅支持属于date类的日期值和属于POSIXct类的时间值。如果你的日期和时间值是其他格式的,则需要使用as.Date()或as.POSIXct()对其进行转换。

对于日期坐标轴,有三个参数可用于控制其外观和刻度的位置:major、minor以及format。

  • 参数major和minor用以按照时间的单位,即年(year)、月(month)、周(week)、日(day)、时(hour)、分(minute)、秒(second)来指定主要和次要断点的位置,并且允许以这些单位的倍数出现。例如,major=“2 weeks”将在每隔两周的位置放置一个主刻度。如果未被指定,日期标度可以自动选出合适的默认值。
  • 参数format指定了刻度标签的格式。下表列出了用以展示日期各个组成部分的特殊字符。例如,如果你想以14/10/1979的形式显示日期,就可以使用字符串“%d%m%y”

Insur_csv$WATCH_TIME<-as.Date(Insur_csv$WATCH_TIME)    //先把特征变量转换为时间变量
plot<-ggplot(Insur_csv,aes(WATCH_TIME,WATCH_DURATION_KD)) 
plot=plot+geom_bar(stat="identity",colour="black")+geom_text(aes(label=round(WATCH_DURATION_KD),vjust=1.5))  //round函数是取整,vjust是设置文本显示在矩形下面
plot+scale_x_date(limits=as.Date(c("2014-11-17","2014-11-23")),labels=date_format("%Y,%m,%d")) //设置x轴的范围和时间格式。

做个小推广:程序员经常久坐,颈椎毛病比较多,特别推荐ventry颈椎保健枕

ggplot画图笔记的更多相关文章

  1. android canvas 画图笔记

    android canvas 画图笔记 1.PathEffect类 画虚线 Paint p = new Paint(Paint.ANTI_ALIAS_FLAG); p.setStyle(Paint.S ...

  2. R ggplot学习笔记1

    R 可视化学习笔记 记参数挺费劲的,还是用的时候查官方文档吧,现在记个大概就行吧~ 1.ggplot2分层次绘图 1.1 核心理念 把绘图与数据分离,把数据相关的绘图与数据无关的绘图分离,按图层作图. ...

  3. Python画图笔记

    matplotlib的官方网址:http://matplotlib.org/ 问题 Python Matplotlib画图,在坐标轴.标题显示这五个字符 ⊥ + - ⊺ ⨁,并且保存后也能显示   h ...

  4. MATLAB画图笔记

    plot函数 plot(x,y)默认格式: 若x,y是向量,则它们必须具有相同的长度.函数将以x为横轴,绘制y. 若x,y都是矩阵,则它们必须具有相同的尺寸,plot函数将针对x的各列绘制y的每列.更 ...

  5. ggplot2包--R可视化

    1.ggplot2发展历程 ggplot2是Hadley在爱荷华州立大学博士期间的作品,也是他博士论文的主题之一,实际上ggplot2还有个前身ggplot,但后来废弃了,某种程度上这也是Hadley ...

  6. R包——ggplot2(二)

    关于ggplot包(二) 关于ggplot包(二) 标尺(Scale) 从前面可以看到,画图其实就是在做映射,不管是映射到不同的几何对象上,还是映射各种图形属性.在对图形属性进行映射之后,使用标尺可以 ...

  7. ggplot2 scale相关设置

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

  8. python matplotlib 绘图基础

    在利用Python做数据分析时,探索数据以及结果展现上图表的应用是不可或缺的. 在Python中通常情况下都是用matplotlib模块进行图表制作. 先理下,matplotlib的结构原理: mat ...

  9. 利用ggplot2画出各种漂亮图片详细教程

    1.Why use ggplot2 ggplot2是我见过最human friendly的画图软件,这得益于Leland Wilkinson在他的著作<The Grammar of Graphi ...

随机推荐

  1. ubuntu下设置共享目录

    在使用VirtualBox和相关的客户机系统比如XPMac等需要用到一些相关功能共享剪贴板等等这时候需要安装VirtualBox中的一个工具叫做Guest Additions中文叫法不一增强工具包功能 ...

  2. 红黑树插入操作原理及java实现

    红黑树是一种二叉平衡查找树,每个结点上有一个存储位来表示结点的颜色,可以是RED或BLACK.红黑树具有以下性质: (1) 每个结点是红色或是黑色 (2) 根结点是黑色的 (3) 如果一个结点是红色的 ...

  3. css - 所有的a标签设置为新窗口打开

    前言 由于工作的需要,需要把某个页面下的所有a标签都设置为新开新窗口,即:<a href="XXX">增加target:<a href="XXX&quo ...

  4. E20170623-hm

    verbose  adj. 冗长的,啰唆的,累赘的; reverse   vt. (使) 反转; (使) 颠倒; 掉换,交换; [法] 撤消,推翻;                adj. 反面的; ...

  5. Gym - 100162G 2012-2013 Petrozavodsk Winter Training Camp G. Lyndon Words 暴力枚举

    题面 题意:如果一个字符串的最小表示法是他自己,他就是一个Lyndon Word. 例如  aabcb 他的循环串有 abcba  bcbaa cbaab baabc 其中字典序最小的是他自己 现在给 ...

  6. knockjs

    用VS2012建立Web站点有个新惊喜,默认加了KnockoutJS这个Javascript的MVVM模式的实现库,方便Web前端的开发 官方站点 √主页:  http://www.knockoutj ...

  7. Educational Codeforces Round 45

    A. 一个小模拟    不解释 //By SiriusRen #include <bits/stdc++.h> using namespace std; long long n,m,a,b ...

  8. webstorm中配置过visualsvn,后面做更改要更换authentication realm的解决办法

    找这个找了好久,一直改不过来,终于找到了解决办法 首先,在提交代码时提示: 但是我的authentication realm已经时这个了,并且账号和密码也改了,所以要更改authentication ...

  9. Less——less基本使用

    基本概况 Less 是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量.混合(mixin).函数等功能,让 CSS 更易维护.方便制作主题.扩充.Less 可以运行在 Node.浏览器 ...

  10. JS——对象创建

    1.原始创建 <script> person = new Object();//不要var person.firstname = "Bill"; person.last ...