如何调整'facet_wrap'多堆栈绘图的大小?

如何调整'facet_wrap'多堆栈绘图的大小?,r,ggplot2,R,Ggplot2,我有csv文件,每个文件都有多个堆栈打印,但输入的csv文件名称相当长。然而,在我的结果图中,csv文件的全名没有完全打印在facet\u wrap中,这很容易混淆图的类别。我正试图通过使用空格,缩放参数来调整面包的大小,但输入csv文件的全名仍然没有显示。有人能告诉我如何处理csv文件,这些文件必须以很长的模式显示在结果图中吗?我怎样才能做到这一点?有什么想法吗 我有一个csv文件,它的名称相当长(这里只是一个示例): 这是我的结果图和我想要实现的期望图(这里我只显示了一个csv文件的多堆栈图

我有
csv
文件,每个文件都有多个堆栈打印,但输入的csv文件名称相当长。然而,在我的结果图中,csv文件的全名没有完全打印在
facet\u wrap
中,这很容易混淆图的类别。我正试图通过使用
空格
缩放
参数来调整
面包
的大小,但输入csv文件的全名仍然没有显示。有人能告诉我如何处理csv文件,这些文件必须以很长的模式显示在结果图中吗?我怎样才能做到这一点?有什么想法吗

我有一个csv文件,它的名称相当长(这里只是一个示例):

这是我的结果图和我想要实现的期望图(这里我只显示了一个
csv
文件的多堆栈图):

我打算继续我的原始情节的代码部分。我怎样才能得到我想要的情节?有没有办法调整
face\u wrap
的大小,在结果图中可以显示相当长的命名文件?非常感谢:)

编辑

Qualified <- list(
    hotankarmaykuchakorla = data.frame( begin=seq(1, by=6, len=20), end=seq(4, by=6, len=20), pos.score=sample(30, 20)),
    aksukexkerawataltay = data.frame( begin=seq(3, by=9, len=15), end=seq(6, by=9, len=15), pos.score=sample(28, 15))
)

UnQualified <- list(
    hotankarmaykuchakorla = data.frame( begin=seq(9, by=12, len=30), end=seq(14, by=12, len=30), pos.score=sample(35, 30)),
    aksukexkerawataltay = data.frame( begin=seq(13, by=10, len=20), end=seq(19, by=10, len=20), pos.score=sample(34, 20))
)
我还想调整每个
csv
文件的多个堆栈图之间的间距。如果在一个页面中放置两个或三个
csv
文件的多个绘图,如何动态调整空间和绘图大小,以确保命名较长的
csv
文件更具可读性。我怎样才能做到这一点?有什么想法吗

新编辑

Qualified <- list(
    hotankarmaykuchakorla = data.frame( begin=seq(1, by=6, len=20), end=seq(4, by=6, len=20), pos.score=sample(30, 20)),
    aksukexkerawataltay = data.frame( begin=seq(3, by=9, len=15), end=seq(6, by=9, len=15), pos.score=sample(28, 15))
)

UnQualified <- list(
    hotankarmaykuchakorla = data.frame( begin=seq(9, by=12, len=30), end=seq(14, by=12, len=30), pos.score=sample(35, 30)),
    aksukexkerawataltay = data.frame( begin=seq(13, by=10, len=20), end=seq(19, by=10, len=20), pos.score=sample(34, 20))
)
也许使用新线:

library(ggplot2)

# dummy data
df1 <- mtcars[, 1:3]
# make new long name
df1$cyl <- paste0("TextTextTextTextTextTextTextTextTextText", df1$cyl, ".csv")
# add newline
df1$cylWrap <- 
  paste0(substr(df1$cyl, 1, 20), "\n",
         substr(df1$cyl, 21, nchar(df1$cyl)))

# plot
ggplot(df1, aes(mpg, disp)) +
  geom_col() +
  facet_wrap( ~cylWrap, scales = "free_x") +
  theme(text = element_text(size = 14))
库(ggplot2)
#虚拟数据

df1可能会在名称中引入
/n
换行符,而不是拉伸绘图以适应标题?请参见此处如何包装标题:如果要将绘图写入文件,则可以在创建设备时增加“宽度”参数。要管理未知文件名,请计数字符并相应插入“\n”(或增加宽度),最简单的方法是使用facet wrap中的
label
参数并使用内置函数
label\u wrap\u gen()
var
应该用空格分隔,将
点改为空格,然后使用label\u wrap\u gen.@Dan您可以使用这个自定义函数:您的答案很有用,它帮助我解决了问题。谢谢:)@Dan鼓励大家分享。
library(ggplot2)

# dummy data
df1 <- mtcars[, 1:3]
# make new long name
df1$cyl <- paste0("TextTextTextTextTextTextTextTextTextText", df1$cyl, ".csv")
# add newline
df1$cylWrap <- 
  paste0(substr(df1$cyl, 1, 20), "\n",
         substr(df1$cyl, 21, nchar(df1$cyl)))

# plot
ggplot(df1, aes(mpg, disp)) +
  geom_col() +
  facet_wrap( ~cylWrap, scales = "free_x") +
  theme(text = element_text(size = 14))