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

发布于 2025-01-31 08:43:00 字数 1543 浏览 4 评论 0原文

我想问如何扭转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轴顺序更改。

您能让我知道如何解决这个问题吗?

谢谢

I'd like to ask how to reverse the order of x-axis and also the direction of graph?

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)

and I generated the linear graph

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)

enter image description here

Here, I'd like to reverse the order of x-axis, so that 60 comes first.

I changed the code from

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

to

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

Then I had this graph

enter image description here

If the x-axis changed by descending order, the line direction should be changed in a positive way, but here, only x-axis order was changed.

Could you let me know how to solve this problem?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我不吻晚风 2025-02-07 08:43:00

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

use scale_x_reverse(limits = c(60,0)) you can also remove your other scale_x call

酒浓于脸红 2025-02-07 08:43:00

多亏了Jahi的回答,我解决了问题。

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

如果使用上述代码,我们可以逆转X轴的顺序,并且可以将其应用于图中的数据点。要调整X轴的单位,请breaks = seq(60,0,by = -10)内部scale> scale_x_reverse()。记住!!该单元应为负值(即-10)

Thanks to Jahi's answer, I solved the problem.

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

if we use the above code, we can reverse the order of x-axis and also it can be applied to data points in the graph. To adjust unit of x-axis, put breaks= seq(60, 0, by = -10) inside scale_x_reverse(). Remember!! the unit should be a negative value (i.e. -10)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文