在使用ggplot绘制各种各样的图形时,你还可以根据自己的需求来对图形进行个性化的调整。例如:增加主/副标题,改变图标颜色、大小和形状,在图形中增加文本或线段,对图形进行分块,改变坐标轴刻度名称等等一系列的操作。
在ggplot中增加或修改标题非常容易
g<-ggplot(mtcars,aes(mpg,drat))+geom_point()
g+labs(title = "这是主标题", subtitle = "这是副标题",caption = "(这是说明)",x = "这是横坐标轴名字",y = '这是纵坐标轴名字')
先绘制一个简单的散点图保存在变量g,然后就可以直接用g对图形进行操作。在ggplot中运用labs函数就可以应付一般的标题要求了。如果只要增加主标题,那么就填写title = ‘标题内容’。
一般情况下我们会修改图标的一些属性,如颜色,形状和大小等等。
g+geom_point(aes(colour = 'red'))
图形中的图标就会变为红色。一般会根据数据框中的对象进行颜色的修改,例如我们根据mtcars中的cyl对象进行操作
g+geom_point(aes(colour =factor(cyl)))
g+geom_point(aes(colour = factor(cyl),shape = factor(cyl),size = factor(cyl)))
用annotate函数可以在图形中加入注释文本,annotate就是注释的意思。
g+annotate('text',x=18,y=4,label='我是文本',colour = "red")
我们在x为18,y为4的地方加上一个颜色为红色的文本。你还可以用参数size来决定文本的大小。
不仅仅是加入文本,在ggplot中你还可以加入线段。
g+geom_hline(yintercept = 3.4)+geom_vline(xintercept = 23)
hline为horizon line水平线的缩写,vline为垂直线的缩写。函数对应的参数yintercept和xintercept不能对调使用。
我们还可以根据数据框的对象来对图形进行分块处理
g+facet_grid(vs~.)
g+facet_grid(.~vs)
g+facet_grid(vs ~ am)
每一段代码都可以生成一个分块的图形,这里就显示最后一个代码的分块图形。
里面参数格式就是作者定义的,不必深究。scales参数可以让坐标轴不用对其,scales=free_y让y坐标轴不对齐,scales=free让x,y坐标轴都不对齐。用法:g+facet_grid(vs~am,scales = 'free_x')
我们还可以改变坐标轴的数值为我们想要的名称
g+scale_x_continuous(breaks = c(10,15,20,25,30,35),labels = c('A','B','C','D','E','F'))
g+coord_flip()#exchange axes
g+xlim(15,30)
这俩个代码,第一个是可以调换x,y坐标轴的功能;第二个是可以截取坐标轴范围的功能。