ggplot2 2.0 标度(坐标轴,图例修改)

对于坐标轴,经常需要调整的其标签,即坐标轴上的名字,坐标轴范围,图例等等。以上问题的修改,都可以通过用图层的方式来进行修改,以为我的理解,图层大致分为几何对象(geom),统计变换(stats),标度(scale)。坐标轴,图例修改需理解其标度,再调整其参数,便能实现坐标轴,图例上的修改。

标度

标度命名是规范化的,以 scale_ 开头,下接图形属性的名称(见表格(注:无通用参数)),最后以标度名称结尾。例:scale_colour_hue(离散型数据的颜色标度),对标度名称的作用解释,看非通用参数。

图形属性

离散型

连续型

colour,fill

brewer,grey,hue,identity,mnual

gradient,gradient2,gradientn

x,y(坐标轴)

discrete

continuous,date,trans(例:log10)

shape

**shape**identity,manual

linetype

linetype,identity,manual

size

identity,manual

size

通用参数
  • name : 修改坐标轴和图例上的标签。用标度表示 scale_x_continuous(name=”“),修改y轴标签,修改图例标签,写法同上。但因需经常修改,表达麻烦所以有专门简化修改函数:xlab(), ylab(), labs().
p <- ggplot(mpg) + geom_point(aes(x = cty, y = hwy, colour = displ))
#####坐标轴标签修改######
p + scale_x_continuous("City mpg") 
##等价于下面的2种写法,若写公式,表达方式同latex写法
p + xlab("City mpg")
p + labs(x = "City mpg")
#####图例######
p + scale_colour_gradient(name = "Displment")
##等价于下面写法,注:图例由colour匹配生成见第一行代码
p + labs(colour = "Displment")
  • limites : 固定,限制标度定义域,用法与name类似。对于x轴和y轴 xlim, ylim作用一样。
  • breakslabels : 控制显示在坐标轴或图例上的值。注意和limites区分
非通用参数

continuous variable(cv)标注代表连续变量, discrete variable(dv)标注代表离散变量,记得理解离散和连续对记忆,理解有很大帮助,常用整理如下,更多查看帮助文档:

图层属性

标度名称

参数

作用

fill,colours

gradient(cv)

low,high

渐变色(双色梯度),low,high控制两端

fill,colours

gradient(cv)

colours

使用调色版控制颜色(vcd包)(RColorBrewer包)

fill,colours

manual(dv)

colour

自定义离散变量颜色(百度查R语言颜色表)

fill,colour

brewer(dv)

palette(dv)

调整设置图和图例颜色(推荐配色Set1,Pastell1)

shape

manual(dv)

values(dv)

自定义离散变量形状(同默认Point形状表一样)

x,y

continuous(cv)

expend(cv)

调整控制溢出量

example

例子1,添加标题,设置点的形状,设置点的颜色。瓦片图的例子图也差不多同下,可通过scale_fill_gradient(limits,low,high)设置

p <- ggplot(diamonds) + 
  geom_point(aes(x = carat, y = price, shape = cut, colour = cut)) + 
  facet_grid(.~cut)  ##分面方便观察变化
p <- p + labs(x = "CARAT", y = "PRICE", title = "GGplot2 example",colour = "CUT") ##添加标题
p
p + scale_shape_manual(values = c(15,16,17,18,19)) ##设置点的形状
p + scale_colour_brewer(palette = "Pastel1")  ###设置点的颜色,配色来自RColorBrewer包,display.brewer.all()可查看所有配色

grafana修改图表坐标 ggplot2修改坐标轴名称与大小_r语言


grafana修改图表坐标 ggplot2修改坐标轴名称与大小_坐标轴_02


grafana修改图表坐标 ggplot2修改坐标轴名称与大小_图例_03

例子2
对坐标轴,和数值进行对数变换并设置刻度

g <- ggplot(diamonds) + 
  geom_point(aes(x = carat, y = price ,colour = cut))  
g
###将变量对数变换画图
h <- ggplot(diamonds) + 
  geom_point(aes(x = log(carat), y = log(price) ,colour = cut))
h    
###对坐标轴也进行对数变换,并设置刻度
g +  scale_x_log10(breaks = c(0.5,1,1.5,2)) + scale_y_log10(breaks = seq(100,15000,by=3725))

grafana修改图表坐标 ggplot2修改坐标轴名称与大小_图例_04


grafana修改图表坐标 ggplot2修改坐标轴名称与大小_坐标轴_05


grafana修改图表坐标 ggplot2修改坐标轴名称与大小_图例_06