首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将0坐标移动到X轴的中间?

如何将0坐标移动到X轴的中间?
EN

Stack Overflow用户
提问于 2014-09-16 16:37:35
回答 1查看 2.6K关注 0票数 0

我试图用下面的代码创建一个火山图,但是我想把"0“坐标放在X轴的中间。有什么办法在ggplot中做到这一点吗?

代码语言:javascript
运行
复制
v<-ggplot(exprData.fil,aes(Effect,Effect.sig))+geom_point(aes(colour=Effect.sig),alpha=0.7)+scale_colour_gradient(low="red",high="green")
    v+ggtitle(mainTitle)
    v+xlab(expression(log[2](bar(After) / bar(Before))))+ylab(expression(-log[10]("p.value"))) 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-16 16:45:32

添加scale_x_continuous()以设置轴限值:

代码语言:javascript
运行
复制
v <- ggplot(exprData.fil,aes(Effect,Effect.sig)) +
       geom_point(aes(colour=Effect.sig),alpha=0.7) +
       scale_colour_gradient(low="red",high="green") +
       ggtitle(mainTitle) + 
       xlab(expression(log[2](bar(After) / bar(Before)))) +
       ylab(expression(-log[10]("p.value"))) +
       scale_x_continuous(limits=c(-12,12), breaks=seq(-12,12,2))

另一种选择是使用coord_cartesian(xlim=c(-12,12))。这与scale_x_continuous()之间的主要区别在于,如果您将任何数据摘要添加到绘图中(比如平滑的、平均的、盒子式的)。如果您的轴限值不包括数据值的全部范围,那么使用scale_x_continuous() (或scale_y_continuous())将导致数据摘要操作(不包括摘要中不可见的数据),而coord_cartesian()将包括汇总中的所有数据,无论是否在绘图中可见。

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

https://stackoverflow.com/questions/25874125

复制
相关文章

相似问题

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