ggplot画图笔记
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画图笔记的更多相关文章
- android canvas 画图笔记
android canvas 画图笔记 1.PathEffect类 画虚线 Paint p = new Paint(Paint.ANTI_ALIAS_FLAG); p.setStyle(Paint.S ...
- R ggplot学习笔记1
R 可视化学习笔记 记参数挺费劲的,还是用的时候查官方文档吧,现在记个大概就行吧~ 1.ggplot2分层次绘图 1.1 核心理念 把绘图与数据分离,把数据相关的绘图与数据无关的绘图分离,按图层作图. ...
- Python画图笔记
matplotlib的官方网址:http://matplotlib.org/ 问题 Python Matplotlib画图,在坐标轴.标题显示这五个字符 ⊥ + - ⊺ ⨁,并且保存后也能显示 h ...
- MATLAB画图笔记
plot函数 plot(x,y)默认格式: 若x,y是向量,则它们必须具有相同的长度.函数将以x为横轴,绘制y. 若x,y都是矩阵,则它们必须具有相同的尺寸,plot函数将针对x的各列绘制y的每列.更 ...
- ggplot2包--R可视化
1.ggplot2发展历程 ggplot2是Hadley在爱荷华州立大学博士期间的作品,也是他博士论文的主题之一,实际上ggplot2还有个前身ggplot,但后来废弃了,某种程度上这也是Hadley ...
- R包——ggplot2(二)
关于ggplot包(二) 关于ggplot包(二) 标尺(Scale) 从前面可以看到,画图其实就是在做映射,不管是映射到不同的几何对象上,还是映射各种图形属性.在对图形属性进行映射之后,使用标尺可以 ...
- ggplot2 scale相关设置
ggplot2 scale相关设置 标度设置:主要用于在ggplot画图后的各个图层进行调整设置. 1.相关属性scale设置 包括scale_size().scale_alpha().scal ...
- python matplotlib 绘图基础
在利用Python做数据分析时,探索数据以及结果展现上图表的应用是不可或缺的. 在Python中通常情况下都是用matplotlib模块进行图表制作. 先理下,matplotlib的结构原理: mat ...
- 利用ggplot2画出各种漂亮图片详细教程
1.Why use ggplot2 ggplot2是我见过最human friendly的画图软件,这得益于Leland Wilkinson在他的著作<The Grammar of Graphi ...
随机推荐
- C# MySql 连接
1.将MySql.Data.dll引用到你的项目中 右键工程去完成. 2.using MySql.Data; using MySql.Data.MySqlClient; 3. MySqlConnec ...
- 作业训练------通过读取c.txt文件中的内容等号右值,并将右值的最大值、最小值、平均值打印到屏幕上。
这篇博客是学习传智播客c++教程的作业,通过在网上进行搜集来完成,但是网上有相似的代码,但是结果总是有点问题,所以本文写了这篇记录下. #include <stdio.h> #includ ...
- mysql中 groupby分组
引用自http://www.cnblogs.com/mo-beifeng/archive/2012/02/07/2341886.html#2341105 --按某一字段分组取最大(小)值所在行的数据 ...
- [Apple开发者帐户帮助]八、管理档案(4)
您可以编辑,下载或删除在开发人员帐户中创建的配置文件.例如,如果您撤消了证书或禁用了配置文件中包含的设备,请编辑配置文件.或重新置备的个人资料,如果因为你它是无效的功能的应用程式服务. 注意: Xco ...
- html5: table表格与页面布局整理
传统表格布局之table标签排版总结: 默认样式: <style> table { max-width: 800px; border-spacing: 2px; border-coll ...
- 6.11---上传图片遇到的bug,字节流输入流输出流----图解----图片必须是post
!!!这里要注意不能是目录必须是指定的文件名+目录,不然就存照片到指定的目录不成功 ----------------------------------------完整controller-servi ...
- Android项目实战_手机安全卫士流量统计
## 1.抽屉控件SlidingDrawer:一定要配置android:handle(把手)和android:content(内容),并在子View中添加把手和内容的布局```java <Sli ...
- eclipse安装python开发pydev插件
eclipse安装python开发pydev插件 下载eclipse的python开发插件pydev http://pan.baidu.com/s/1qXHt8pI 下载python.exe,并安装. ...
- ubuntu下sudo命令不能使用问题
不知道从什么时候开始,ctrl+alt+F1进入命令行之后,登录成功.使用sudo命令,不能使用....被坑了很久. 解决方法: 出现 [sudo ] username !!! 之后,在输入一遍 密码 ...
- JDK升级
保存jboss运行时环境的配置 删除jboss下面的缓存文件 删除deployments里面的war包 重新build项目