ggplot2 scale相关设置2—时间设置
2016-07-02 13:08
302 查看
在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)
#常规方法画图,结果为
#上面两个语句的画图结果都是同一个图,可以相对明确的得到两个信息
1、在lables和date_labels同时出现的情况下,系统会优先使用date_labels设置
2、在时间设置方面,date_labels,以及date_breaks 设置要比 labels和breaks设置要简洁得多。
另外一种方法是利用scales包与scale_x_datetime()结合进行设置,也可以是整体的日期设置达到简洁效果,值得注意的是此时的日期应该为datetime类型,需要对数据进行转换,转换使用as.POSIXct()
最后,强调一点,截断内容除了days,以外还可以用“auto”, “secs”, “mins”, “hours”, “weeks”等对数据进行分割显示。
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”等对数据进行分割显示。
相关文章推荐
- docker学习之(一):docker相关资料-- debian docker安装教程-常用资料导航
- centos升级python
- Android逆向之旅---运行时修改内存中的Dalvik指令来改变代码逻辑
- 分布式技术一周技术动态 2016.07.03
- Windows系统下常用程序(或bat)自定义Windows快捷键启动
- React Native 开发到上线记录(二)
- 使用BitmapShader实现简单绘图
- mysql二进制包安装与配置实战记录
- 一、简单工厂模式
- 内存对齐,malloc内存对齐
- viewpager的简单实现
- MYSQL 系统命令 源码定位
- Spring MVC @RequestMapping注解详解
- 什么是动态数据类型
- 学习Bootstrap滚动监听 附调用方法
- IOS中单例怎么销毁,会造成内存泄露吗?
- 获取可执行程序(.exe)完整路径
- input type=file
- 欢迎使用CSDN-markdown编辑器
- gdb调试Clang2.6 (clang-cc)