R 当x为离散变量时,更改图形y轴的下限,而不切断条形图的底部

R 当x为离散变量时,更改图形y轴的下限,而不切断条形图的底部,r,ggplot2,graph,bar-chart,R,Ggplot2,Graph,Bar Chart,我正在尝试调整此图形的y轴,使其从1开始,而不是从0开始。最好的方法是什么 提供的解决方案切掉了图表的底部。我希望这些条看起来与下图几乎相同,但y下限为1,每个条向下移动1个单位以匹配。我想保留每个栏下面的少量灰色空间 代码: 数据: 使用scale\u y\u continuous可以调整中断和标签 library(tidyverse) groups %>% ungroup() %>% mutate(message = fct_relevel(message, &q

我正在尝试调整此图形的y轴,使其从1开始,而不是从0开始。最好的方法是什么

提供的解决方案切掉了图表的底部。我希望这些条看起来与下图几乎相同,但y下限为1,每个条向下移动1个单位以匹配。我想保留每个栏下面的少量灰色空间

代码:

数据:


使用
scale\u y\u continuous
可以调整
中断
标签

library(tidyverse)

groups %>% 
  ungroup() %>% 
  mutate(message = fct_relevel(message, "Personal", "General"),
         enviroattitudeshalf = fct_relevel(enviroattitudeshalf, "Low Environmental Attitudes", "High Environmental Attitudes")) %>% 
  ggplot(aes(x = message, y = mean)) + 
  geom_col(width = 0.5, fill = "003900") +
  geom_text(aes(label = round(mean, digits = 1), vjust = -3)) + 
  geom_errorbar(aes(ymin = mean - se, ymax = mean + se), width = .2, position = position_dodge(.9)) + 
  labs(title = "Environment: Evaluations of Personal and General Convincingness",
       y = "Rating",
       x = "Personal evaluation or general evaluation") + 
  scale_y_continuous(breaks = 0:8, labels = 1:9) + 
  facet_wrap(~enviroattitudeshalf, scales = 'free_y')

作为重新标记y轴的替代方法,您可以通过设置
oob=scales::oob_squish
将y轴在1处切断。out-out-bounds squish函数将超出范围的值设置为最接近的限制。这保留了条的上部,给出了相同的解释,而重新标记则表明第一条条超过了值4,而它没有

groups %>% 
  ungroup() %>% 
  mutate(message = fct_relevel(message, "Personal", "General"),
         enviroattitudeshalf = fct_relevel(enviroattitudeshalf, "Low Environmental Attitudes", "High Environmental Attitudes")) %>% 
  ggplot(aes(x = message, y = mean)) + 
  geom_col(width = 0.5, fill = "003900") +
  geom_text(aes(label = round(mean, digits = 1), vjust = -2)) + 
  geom_errorbar(aes(ymin = mean - se, ymax = mean + se), width = .2, position = position_dodge(.9)) + 
  labs(title = "Environment: Evaluations of Personal and General Convincingness",
       y = "Rating",
       x = "Personal evaluation or general evaluation") + 
  facet_wrap(~enviroattitudeshalf) +
  scale_y_continuous(limits = c(1, 8), oob = scales::oob_squish)

library(tidyverse)

groups %>% 
  ungroup() %>% 
  mutate(message = fct_relevel(message, "Personal", "General"),
         enviroattitudeshalf = fct_relevel(enviroattitudeshalf, "Low Environmental Attitudes", "High Environmental Attitudes")) %>% 
  ggplot(aes(x = message, y = mean)) + 
  geom_col(width = 0.5, fill = "003900") +
  geom_text(aes(label = round(mean, digits = 1), vjust = -3)) + 
  geom_errorbar(aes(ymin = mean - se, ymax = mean + se), width = .2, position = position_dodge(.9)) + 
  labs(title = "Environment: Evaluations of Personal and General Convincingness",
       y = "Rating",
       x = "Personal evaluation or general evaluation") + 
  scale_y_continuous(breaks = 0:8, labels = 1:9) + 
  facet_wrap(~enviroattitudeshalf, scales = 'free_y')
groups %>% 
  ungroup() %>% 
  mutate(message = fct_relevel(message, "Personal", "General"),
         enviroattitudeshalf = fct_relevel(enviroattitudeshalf, "Low Environmental Attitudes", "High Environmental Attitudes")) %>% 
  ggplot(aes(x = message, y = mean)) + 
  geom_col(width = 0.5, fill = "003900") +
  geom_text(aes(label = round(mean, digits = 1), vjust = -2)) + 
  geom_errorbar(aes(ymin = mean - se, ymax = mean + se), width = .2, position = position_dodge(.9)) + 
  labs(title = "Environment: Evaluations of Personal and General Convincingness",
       y = "Rating",
       x = "Personal evaluation or general evaluation") + 
  facet_wrap(~enviroattitudeshalf) +
  scale_y_continuous(limits = c(1, 8), oob = scales::oob_squish)