您的位置:首页 > 其它

ggplot2 scale相关设置-坐标转换

2016-07-06 23:56 225 查看
ggplot2 scale相关设置-坐标转换

在R中坐标轴转换有多种形式,包括对数转换,平方根转换以及坐标刻度前后进行调换

用到的函数分别有:

scale_x_log10(...)
scale_y_log10(...)
scale_x_sqrt(...)
scale_y_sqrt(...)

scale_x_reverse(...)
scale_y_reverse(...)

以上几个函数其实基于
scale_x_continuous(name = waiver(), breaks = waiver(), minor_breaks = waiver(), labels = waiver(), limits = NULL, expand = waiver(), oob = censor, na.value = NA_real_, trans = "identity")
中的 参数trans 可以实现相同的效果

以iris数据集为例

p<-ggplot(iris,aes(Petal.Length,Petal.Width))+geom_point()
p


标准情况下的效果


  

p+scale_x_log10()
p+scale_x_continuous(trans="log10")


以上两行代码实现的效果是相同的,即对函数x轴做对数转换,效果如下



 另外,配合scales包,可以进行更丰富的scale设置

library(scales)
p+scale_x_continuous(trans=log2_trans(),labels=percent)




 

另外,借助coord_trans()函数,可以直接对x和y轴进行不同设置

p+scale_x_continuous(trans=log2_trans(),labels=percent)+
scale_y_continuous(labels=dollar)
p+coord_trans(x="log2",y="sqrt")



  



以上是最后两个函数的画图效果。

总体而言,scale转换设置过程相对比较简单,而且频率可能也相对较少,稍作了解即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: