无论样本数如何,在条形之间保持 space

Maintain space between bars regardless of sample numbers

我想制作几个相同的图 space 条形之间的间隔,不管样本数量如何

如下所述。

不是这样的

我的原剧本是

myData <- read.csv('L1L2_100percent.csv', header = T, sep =',')

ggplot(data = myData, aes(x = region, y = vaf, fill = type)) + 
 geom_bar(stat = "identity", width = 0.4) +
 coord_flip()

我觉得跟保存特定高度的图片有关,但是我觉得高度 必须用样本数来确定,但我不知道确切的值。

您只需要在保存时根据条数按比例调整绘图的高度。 这里,plt1 有 5 个柱而不是 10 个柱,因此它的保存高度应该仅为 plt2 的一半:

library(tidyverse)

# create example data
myData <-
  iris %>% transmute(
    region = row_number() %% 20,
    vaf = Sepal.Length,
    type = Species
  )

plt1 <-
  myData %>%
  filter(region < 5) %>%
  ggplot(aes(x = region, y = vaf, fill = type)) + 
  geom_bar(stat = "identity") +
  coord_flip()

plt2 <-
  myData %>%
  filter(region < 10) %>%
  ggplot(aes(x = region, y = vaf, fill = type)) + 
  geom_bar(stat = "identity") +
  coord_flip()

ggsave("plt1.png", plt1, height = plt1$data$region %>% unique() %>% length())
ggsave("plt2.png", plt2, height = plt2$data$region %>% unique() %>% length())

Plt1:

Plt2: