【问题标题】:Reverse y-axis in boxplot in R在R中的箱线图中反转y轴
【发布时间】:2019-10-11 03:32:00
【问题描述】:

我已经阅读了相关主题,但我仍然无法弄清楚。 我使用以下数据制作了箱线图。 如何反转y轴,12出现在顶部,19出现在y轴底部?

 X <- (13,13,13,12,14,14,14,13,16,16,13,15,15,15,14,14,13,16,15,19,15,16,17,14,19,16,18,17,17,18,17,17,19,17,17)

我用过boxplot(X,at=rev(1:nlevels(X))),显示这个错误:'at' must have same length as 'z$n', i.e. 1

任何评论都会很棒!

【问题讨论】:

  • at= 用于更改 x 轴上的位置。您只绘制一个框。
  • 谢谢@Stephen,我该如何解决?

标签: r plot reverse


【解决方案1】:

尝试使用ylim

X <- c(13,13,13,12,14,14,14,13,16,16,13,15,15,15,14,14,13,16,15,19,15,16,17,14,19,16,18,17,17,18,17,17,19,17,17)
boxplot(X, ylim = c(19, 12))

生产:


在关于将 y 轴向右切换的评论后添加

执行此操作所需的代码:

boxplot(X, ylim = c(19, 12), axes=FALSE)
axis(4, pos = 1.3)

生产:

【讨论】:

  • 谢谢@jmcastagnetto。我应该如何将 y 轴放在右侧,并且更靠近箱线图?
  • 查看axis() 函数,它允许您为绘图创建自定义轴。完成后,您需要抑制箱线图中的常规 y 轴:boxplot(X, ylim = c(19, 12), yaxt="n")或轴和框架:boxplot(X, ylim = c(19, 12), axes=FALSE) 另一种选择是使用带有自定义主题和元素位置的ggplot
【解决方案2】:

或者尝试 tidyverse 的方式:

library(tidyverse)
tibble(X = c(13,13,13,12,14,14,14,13,16,16,13,15,15,15,14,14,13,16,15,19,15,16,17,14,19,16,18,17,17,18,17,17,19,17,17)) %>% 
  ggplot(aes(x = '', y = X)) +
  geom_boxplot() +
  theme_minimal() +
  scale_y_reverse() +
  xlab('')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-06
    • 2021-11-23
    • 2022-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-04
    • 1970-01-01
    相关资源
    最近更新 更多