在scale设置中,常用的日期方面的设置函数包括:

scale_x_date(),scale_y_date(),scale_x_datetime(),scale_y_datetime()
 
接下来,我了解下函数的参数部分:
以scale_x_date()为例
 
scale_x_date(name = waiver(), breaks = waiver(), date_breaks = waiver(), labels = waiver(), date_labels = waiver(), minor_breaks = waiver(), date_minor_breaks = waiver(), limits = NULL, expand = waiver())
 
基本上包括常用的设置内容,name,breaks,labels,limits等,
另外,特有的参数包括,date_labels,date_breaks,minor_breaks,date_minor_breks  从作用来说,date_breaks和breaks作用是一样的,如果两个参数同时出现在一个scale设置中,函数会默认优先使用date_breaks的参数内容。
minor_breaks()和date_minor_breaks()是在原有坐标轴刻度的基础上,绘制出子刻度。比如你的breaks 可能是以月为单位,minor_breaks可以设置为以日为单位,这样就可以在所画的图中看出更为精确的数据图形。
 
 
具体实例library(ggplot2)  
df <- data.frame(
date = Sys.Date() - 0:29,
count = runif(30))
tu <- ggplot(df, aes(date, count)) +geom_line()
tu+scale_x_date(breaks=as.Date(c("2016-06-06","2016-06-13","2016-06-20","2016-06-27")),
                labels=c("06-06","06-13","06-20","06-27"))

#常规方法画图,结果为

 
tu+scale_x_date(breaks=as.Date(c("2016-06-06","2016-06-13","2016-06-20","2016-06-27")),
labels=c("06-06","06-13","06-20","06-27"),date_labels="%y/%m/%d") tu+scale_x_date(date_labels="%y/%m/%d")

#上面两个语句的画图结果都是同一个图,可以相对明确的得到两个信息

1、在lables和date_labels同时出现的情况下,系统会优先使用date_labels设置

2、在时间设置方面,date_labels,以及date_breaks  设置要比 labels和breaks设置要简洁得多。

 另外一种方法是利用scales包与scale_x_datetime()结合进行设置,也可以是整体的日期设置达到简洁效果,值得注意的是此时的日期应该为datetime类型,需要对数据进行转换,转换使用as.POSIXct()
 
df <- data.frame(
date = as.POSIXct(Sys.Date() - 0:29),
count = runif(30)) tu <- ggplot(df, aes(date, count)) +geom_line() library(scales) tu+scale_x_datetime(breaks=date_breaks("10 days"),labels=date_format("%m/%d"))

  

 
最后,强调一点,截断内容除了days,以外还可以用“auto”, “secs”, “mins”, “hours”,  “weeks”等对数据进行分割显示。
 
 
 
 
 
 
 

ggplot2 scale相关设置2—时间设置的更多相关文章

  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. scrapy 如何使用代理 以及设置超时时间

    使用代理 1. 单文件spider局部使用代理 entry = 'http://xxxxx:xxxxx@http-pro.abuyun.com:xxx'.format("帐号", ...

  4. scale相关设置—手动设置

    在ggplot2 中,可以进行手动设置的函数有: scale_colour_manual(..., values).scale_fill_manual(..., values). scale_size ...

  5. [ASP.NET] 如果将缓存“滑动过期时间”设置为1秒会怎样?

    今天编写了一个采用ASP.NET Caching的组件,在为它编写Unit Test的过程中发现了一个有趣的问题,接下来我通过一个简单的实例说明这个问题.我们在一个控制台应用中编写了如下一段程序,这个 ...

  6. redis中的key设置过期时间

    EXPIRE key seconds 为给定  key  设置生存时间,当  key  过期时(生存时间为  0  ),它会被自动删除. 在 Redis 中,带有生存时间的  key  被称为『易失的 ...

  7. Qt设置系统时间(使用SetSystemTime API函数)

    大家都知道Qt中有QDateTime等有关时间与日期的类,类中包含很多成员函数,可以很方便的实现有关时间与日期的操作,比如:想要获得系统当前的时间与日期,可以调用currentDateTime();  ...

  8. Delphi获取与设置系统时间格式,即GetLocaleInfo和SetLocaleInfo

    在Delphi中,特别是在写管理系统软件时,经常要用到 FormatDateTime 以将 TDateTime 格式的日期时间转换成字符串形式的值显示或保存起来,或者用 StrToDateTime将字 ...

  9. Linux系统时间和硬件时间设置

    在Linux中有硬件时钟与系统时钟两种时钟.硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟.系统时钟则是指kernel中的时钟.所有Linux相关指令与函数都是读取系统时钟的设定 ...

随机推荐

  1. Ubuntu16.04删除客人会话

    1.按下 Ctrl+Alt+T - 打开终端 2.输入以下指令: sudo gedit /etc/lightdm/lightdm.conf 3.源代码之后添加如下代码,然后保存.关闭,重启电脑即可. ...

  2. __builtin_expect

    今天在看内核代码中看到: #define likely(x) __builtin_expect(!!(x), 1)#define unlikely(x) __builtin_expect(!!(x), ...

  3. 面向对象---final关键字

    final 在java中表示的意思是最终,也称为完结器,可以用final关键字声明类.属性.方法,在声明时需要注意以下几点: 1.使用final声明的类不能有子类. 2.使用final声明的方法不能被 ...

  4. 关于The requested PHP extension ext-pdo_sqlite * is missing from your system. Install or enable PHP's pdo_sqlite extension.的解决

    $ php composer.phar install Loading composer repositories with package information Installing depend ...

  5. 转:iOS程序main函数之前发生了什么

    原文地址:http://blog.sunnyxx.com/2014/08/30/objc-pre-main/ 我是前言 一个iOS app的main()函数位于main.m中,这是我们熟知的程序入口. ...

  6. CentOS 7将Python 2.X.X升级到Python 3.X.X

    # cd /usr/local/src/ # ls Python-.tgz # .tgz # ls Python- Python-.tgz # cd Python-/ # yum install gc ...

  7. linux(x64)下安装Matlab 2015b破解版(含安装包)

    注意:在安装前请查看安装目录是否有足够空间!完全安装大概需要12G的空间!本人在安装后系统盘满了,导致无法启动图形界面.小伙伴们不要重蹈覆辙~ Environment Linux debian8 (x ...

  8. jetbrain phpstorm 增加或删除一个 live template

    打开\.PhpStorm2016.2\config\templates 将xml文件放入该文件夹中 重启! 单独: setting -> editor -> Live Template +

  9. [linux]查看机器有几个cpu,是否支持64位

    1. 查看物理CPU的个数#cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l 2. 查看逻辑CPU的个数#cat /pr ...

  10. Framebuffer原理、使用、测试系列文章,非常好的资料,大家一起学习

    转载:http://blog.csdn.net/tju355/article/details/6881372 *一.FrameBuffer的原理* FrameBuffer 是出现在 2.2.xx 内核 ...