ggplot2:反转辅助连续x轴

问题描述 投票:1回答:1

我试图在我的ggplot顶部反转辅助X轴。

ggplot(
  data=MasterTable, aes(x=Concentration, y=Signal, color=factor(Assay))) + 
  scale_x_continuous("Chemical 1", 
                     sec.axis = sec_axis(~ . *1, name = "Chemical 2"), scale_x_reverse(limits=c(400,0)))

如果删除代码的最后一部分(scale_x_reverse ...),则会生成一个带有与底部X轴相同的辅助部分的绘图。我设法扭转了底轴,但这也颠倒了顶轴。我期待只反转顶轴。

任何有关这方面的帮助将非常感激。

谢谢!

enter image description here

r ggplot2 reverse axis
1个回答
4
投票

这是一个可能的解决方案:

MasterTable <- data.frame(Concentration=rep(c(0,50,100,200,300, 350, 400),2),
Signal=c(11800,13000,12000,12000,16000,15500,15570,11600,11700,8000,8000,6000,4000,3000),
Assay=rep(1:2,each=7))

library(ggplot2)
# Reverse Signal vector of the blue series (for Assay =1)
MasterTable$Signal[MasterTable$Assay==1] <- rev(MasterTable$Signal[MasterTable$Assay==1])

ggplot(data=MasterTable, aes(x=Concentration, y=Signal, color=factor(Assay))) + 
geom_line(lwd=1) + geom_point(size=3) + guides(color='none') +
scale_x_continuous('Chemical 1 (nM)', trans='reverse',
                   sec.axis = sec_axis(~ 400 - . , name='Chemical 2 (nM)')) 

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.