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

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

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

标度

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

图形属性离散型连续型
colour,fillbrewer,grey,hue,identity,mnualgradient,gradient2,gradientn
x,y(坐标轴)discretecontinuous,date,trans(例:log10)
shape**shape**identity,manual
linetypelinetype,identity,manual
sizeidentity,manualsize
通用参数
  • 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,coloursgradient(cv)low,high渐变色(双色梯度),low,high控制两端
fill,coloursgradient(cv)colours使用调色版控制颜色(vcd包)(RColorBrewer包)
fill,coloursmanual(dv)colour自定义离散变量颜色(百度查R语言颜色表)
fill,colourbrewer(dv)palette(dv)调整设置图和图例颜色(推荐配色Set1,Pastell1)
shapemanual(dv)values(dv)自定义离散变量形状(同默认Point形状表一样)
x,ycontinuous(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()可查看所有配色

这里写图片描述
这里写图片描述
这里写图片描述

例子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)) 

这里写图片描述
这里写图片描述
这里写图片描述

  • 6
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值