如何反转也应用于图形中数据点的 x 轴(数字)的顺序?

How to reverse the order of x-axis (numeric) which is also applied to the data point in a graph?

请问如何反转x轴的顺序和图形的方向?

cv<- rep(c("cv1","cv2"), each=5)
value<- c(50,40,30,20,10,45,38,26,22,17)
index<- rep(c(5,15,27,36,45), each=2)
dataA<- data.frame(cv, value, index)

我生成了线性图

ggplot(data=dataA, aes(x=index, y=value))+
  geom_smooth(aes(fill=cv), method=lm, level=0.95, se=FALSE, linetype=1, size=0.5,
  color="Black", formula=y~x) +
  geom_point (aes(shape=cv, fill=cv), col="Black", size=3) +
  scale_x_continuous(breaks = seq(-0, 60, 10), limits = c(0,60)) + 
  scale_y_continuous(breaks = seq(0,70,10), limits = c(0,70)) +
  labs(x="Environmental Index", y="Kernel number") +
  theme_grey(base_size=15, base_family="serif")+
  theme(legend.position= 'none',
  axis.line= element_line(size=0.5, colour="black")) +
  windows(width=5.5, height=5)

在这里,我想颠倒x轴的顺序,让60排在前面。

我更改了代码

scale_x_continuous(breaks = seq(-0, 60, 10), limits = c(0,60))  

scale_x_continuous(breaks = seq(-0, 60, 10), labels = rev(seq(-0, 60, 10)), limits = c(-0, 60)) 

然后我有了这张图

如果x轴按降序变化,线方向应该正向变化,但这里只改变x轴顺序

你能告诉我如何解决这个问题吗?

谢谢

使用 scale_x_reverse(limits = c(60,0)) 您还可以删除其他 scale_x 电话

感谢Jahi的回答,我解决了问题

scale_x_reverse(limits = c(60,0), breaks= seq(60, 0, by = -10))

如果我们使用上面的代码,我们可以颠倒x-axis的顺序,也可以应用于图中的数据点。要调整 x-axis 的单位,请将 breaks= seq(60, 0, by = -10) 放在 scale_x_reverse() 中。记住!!单位应为负值(即-10)