facet_grid
ではなくを使用できる場合facet_wrap
は、引数の機能を使用しlabeller
てテキストを任意に折り返すことができます。(facet_wrap
(まだ)labeller
引数はありません。)
再現x
可能にする
x <-
structure(list(Date = structure(c(-719143, -718778), class = "Date"),
Duration = c(10L, 3L), Test = c("This is the first that took place on1/1/2012",
"This test peformed the best result")), .Names = c("Date",
"Duration", "Test"), row.names = c(NA, -2L), class = "data.frame")
ラベルをラップするヘルパー関数( ggplot2 wikiで詳細に説明されています)
library("plyr")
label_wrap_gen <- function(width = 25) {
function(variable, value) {
laply(strwrap(as.character(value), width=width, simplify=FALSE),
paste, collapse="\n")
}
}
プロットコード。2つの値しか指定されていないため、ポイントに変更されたため、線とスムージングは意味がありません。しかし、とにかくそれらは質問の焦点ではありませんでした。
ggplot(x, aes(Date, Duration, group=Test, colour=Test)) +
geom_point() +
facet_grid(~Test, scale="free", labeller=label_wrap_gen(width=10)) +
opts(strip.text.x = theme_text(size=8, colour="navyblue"))
編集:
facet_grid
うまくいかないので、改行をTest
変数に直接埋め込んでから、を使用することができますfacet_wrap
。
x$Test <- laply(strwrap(as.character(x$Test), width=10, simplify=FALSE),
paste, collapse="\n")
ggplot(x, aes(Date, Duration, group=Test, colour=Test)) +
geom_point() +
facet_wrap(~Test, scale="free") +
opts(strip.text.x = theme_text(size=8, colour="navyblue"))
コメントで作成されたヘッダーに関する他の質問がわかりません。おそらく、それから新しい、より明確な質問をするでしょう。