我想使用facet_grid在彼此上方绘制一些条形图:

library(ggplot2)

df <- group_by(mpg, manufacturer) %>%
  summarise(cty = mean(cty), hwy = mean(hwy)) %>%
  ungroup()

df <- melt(df, id.vars = "manufacturer")

ggplot() +
  geom_bar(data =df, aes(x = variable, y = value), stat = "identity") +
  facet_grid(manufacturer ~ ., switch = "y")

我使用ggplot2::facet_grid()switch参数让刻面标签显示在y轴上,而不是每个刻面的顶部.问题是,镶嵌面标签是垂直绘制的,因此会被裁剪.有没有办法水平绘制刻面标签?到目前为止,我发现的所有问题都只与旋转x轴标签有关,而不是面标签.

推荐答案

你只需要加上theme(),并在strip.text.y.left中指定Angular .

library(tidyverse)
library(reshape2)

df <- group_by(mpg, manufacturer) %>%
  summarise(cty = mean(cty), hwy = mean(hwy)) %>%
  ungroup()

df <- melt(df, id.vars = "manufacturer")

ggplot() +
  geom_bar(data =df, aes(x = variable, y = value), stat = "identity") +
  facet_grid(manufacturer ~ ., switch = "y")+
  theme(strip.text.y.left = element_text(angle = 0))

reprex package(v0.3.0)于2020年3月15日创建

请注意,ggplot2 3.3.0中添加了strip.text.y.left.对于早期版本,您需要编写strip.text.y = element_text(angle = 180).

R相关问答推荐

使用R中的小鼠()进行插补后观察次数显着变化

IQR()和stats之间四分位距计算的差异::分位数()在R和' ggpubr '

使用Shiny组合和显示复制和粘贴的数据

如果行和列名以相同的开头,将矩阵值设置为0

使用spatVector裁剪网格数据时出现的问题

带有叠加饼图系列的Highmap

使用tidyverse方法绑定行并从一组管道列表执行左连接

R Sapply函数产生的值似乎与for循环方法略有不同

如何在R中合并两个基准点?

将包含卷的底部25%的组拆分为2行

在R中,如何将变量(A,B和C)拟合在同一列中,如A和B,以及A和C在同一面板中?

如何同时从多个列表中获取名字?

无法正确设置动态创建的Quarto标注的格式

过滤名称以特定字符串开头的文件

如何将Which()函数用于管道%>;%

基于Key->Value数据帧的基因子集相关性提取

R -如何分配夜间GPS数据(即跨越午夜的数据)相同的开始日期?

解析嵌套程度极高的地理数据

R将函数参数传递给ggploy

是否从列中删除★符号?