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颈椎保健枕

原文地址:https://www.cnblogs.com/longzhongren/p/4309279.html