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

时间:2017-01-09 12:20:03

标签: r ggplot2

我有csv个文件,每个文件都有多个堆栈图,但输入的csv文件名称字符相当长。但是,在我的结果图中,csv文件的全名未完全打印在facet_wrap中,这很容易混淆了剧情类别所指的内容。我尝试使用face_wrapspace参数调整scale的大小,但仍未显示输入csv文件的全名。任何人都可以指出我如何处理csv文件与相当长的模式,必须在结果图中显示?我怎样才能做到这一点?有什么想法吗?

我有一个csv文件,它的名字很长(这里只是玩具示例):

TextTextTextTextTextTextTextTextTextTextTextTextTextText.csv

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

enter image description here

我打算继续我原始情节的代码部分。我怎样才能得到我想要的情节?任何调整face_wrap大小的方法都可以在结果图中显示相当长的命名文件?非常感谢:)

修改

我想调整每个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))
)

得到多个堆栈图:

hotankarmaykuchakorla.validCandidate.Qualified.csv
hotankarmaykuchakorla.validCandidate.unQualified.csv
hotankarmaykuchakorla.invalidCandidate.Qualified.csv
hotankarmaykuchakorla.invalidCandidate.UnQualified.csv

1 个答案:

答案 0 :(得分:2)

也许使用换行符:

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))

enter image description here