首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ggplot2盒图的翻转弦

ggplot2盒图的翻转弦
EN

Stack Overflow用户
提问于 2016-01-22 19:15:56
回答 2查看 2.3K关注 0票数 0

我想翻转ggplot2盒图的和弦,在这里我也进行坐标转换。

代码语言:javascript
复制
library(ggplot2)

dat = data.frame(group = factor(c(rep(1,3),rep(2,6))),
                 vals   = c(c(0.1,2.25,1000), c(0.11,0.21,0.21,4.55,5.06,29.48)))


   ggplot(dat,aes(group,vals)) + geom_boxplot() 
   ggplot(dat,aes(group,vals)) + geom_boxplot()  + coord_trans(y="log10")

如果我现在添加"+ coord_flip()",那么轴的日志缩放就会丢失。

代码语言:javascript
复制
 ggplot(dat,aes(group,vals)) + geom_boxplot()  + coord_trans(y="log10") + coord_flip()

有什么方法可以实现和弦翻转吗?

谢谢您的评论!

最好的,燕姿

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-23 10:06:37

也许有个解决办法。您可以使用viewport()翻转您的绘图。编辑:使用包cowplot,您可以切换y轴。

代码语言:javascript
复制
library(ggplot2)
library(grid)
library(cowplot)
p <- ggplot(dat,aes(group,vals)) + geom_boxplot()  + coord_trans(y="log10") + theme(axis.text.x = element_text(angle = 90, hjust = 1), axis.title.x = element_text(angle = 90, hjust = 1), axis.text.y = element_text(angle = 90, hjust = 1))

pp <- ggdraw(switch_axis_position(p, axis = 'y'))

grid.newpage()
print(pp, vp = viewport(angle = -90, width = 0.7, height = 0.8))

票数 1
EN

Stack Overflow用户

发布于 2016-01-22 19:41:03

只需使用scale_y_log10

代码语言:javascript
复制
ggplot(dat,aes(group,vals)) + 
 geom_boxplot() + 
 coord_flip() + 
 scale_y_log10()

那就按需要调整。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34954247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档