2017-01-09 140 views
1

我有csv文件,每個文件都有多個堆棧圖,但輸入的csv文件名稱相當長。但是,在我的結果圖中,csv文件的全名未完整打印在易於混淆的情節類別所指的facet_wrap中。我試圖通過使用space,scale參數來調整face_wrap的大小,但輸入csv文件的全名仍未顯示。任何人都可以指出我如何處理具有相當長的模式,必須顯示在結果圖中的CSV文件?我怎樣才能做到這一點?任何想法 ?如何調整`facet_wrap`多堆棧圖的大小?

我有跟相當長的字符(只是玩具例子在這裏)命名的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 
+2

也許在名稱中引入'/ n'換行符,而不是擴展劇情以適應標題? – zx8754

+2

看看這個標題是如何包裝在這裏的:http://www.cookbook-r.com/Graphs/Titles_(ggplot2)/ –

+1

如果你要將圖表寫入文件,你可以在創建時增加「寬度」參數裝置。爲了管理未知的文件名,對字符進行計數並相應插入「\ n」(或增加寬度) –

回答

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

+1

@你可以使用這個自定義函數:http://stackoverflow.com/a/27734975/680068 – zx8754

+1

你的答案是有幫助的,它幫助我解決了我的問題。謝謝:) – Dan

+1

@丹鼓勵[發表自己的問題的答案](http://stackoverflow.com/help/self-answer),請分享。 – zx8754