在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. JavaScript - 平稳退化

    JavaScript使用window对象的open()方法来创建新的浏览器窗口.这个方法有三个参数:window.open(url,name,features)这三个参数都是可选的.1.第一个参数是想 ...

  2. oracle_index的建立、修改、删除

    索引索引是关系数据库中用于存放每一条记录的一种对象,主要目的是加快数据的读取速度和完整性检查.建立索引是一项技术性要求高的工作.一般在数据库设计阶段的与数据库结构一道考虑.应用系统的性能直接与索引的合 ...

  3. ios开发之滑动长图截全屏应用

    最近做项目遇到要求截取图片长度超出手机屏幕,即可滑动的长图截屏,这里简单说一下解决思路,下面附带Demo下载地址. ,当我们要截全屏时,将滑动视图的frame以及偏移量记录下来,然后将滑动视图偏移量设 ...

  4. fpga串口通信

    ---恢复内容开始--- 1.波特率的计算公式:9600bps 是指每秒可以传输9600位 则一位需要的时间为1/9600 约等于0.000104 开发板晶振大小为50M则传输一位需要的时间为 0.0 ...

  5. Java写入文件

    import java.io.File;import java.io.FileNotFoundException;import java.io.PrintWriter; public class Fi ...

  6. 照片处理软件(iSee图片专家) 3.930 中文免费版

    软件名称: 照片处理软件(iSee图片专家) 软件语言: 简体中文 授权方式: 免费软件 运行环境: Win 32位/64位 软件大小: 13.5MB 图片预览: 软件简介: iSee图片专家,免费一 ...

  7. 接口测试:如何定位BUG的产生原因

    转自公众号<QA之道> 我们从在日常功能测试过程中对UI的每一次操作说白了就是对一个或者多个接口的一次调用,接口的返回的内容(移动端一般为json)经过前端代码的处理最终展示在页面上.ht ...

  8. matlab,xls转换为mat文件

    b=xlsread('iris_data.xls');save iris_data.mat b

  9. ios 显示其他app的购买页面

    using UnityEngine; using System.Collections; using System.Runtime.InteropServices ; public class IOS ...

  10. Jsp中out.println()与System.out.println()的区别

    第一次上Web实验课时咱写了一个jsp程序: <% System.out.println("Hello The World"); %> 然后放在浏览器下运行,结果是这样 ...