1

データフレーム: ×

Date          Duration  Test
1/1/2012      10        This is the first that took place on1/1/2012
2/1/2012      3         This test peformed the best result

グラフに適合する strip.text.x に向かうことに問題があります。これに対処するにはどうすればよいですか?

ggplot(x, aes(Date, Duration, group=Test, colour=Test)) 
+ geom_line() 
+ geom_smooth(method="lm", se=T, size=1) 
+ facet_wrap(~Test, scale="free") 
+ opts(strip.text.x = theme_text(size=8, colour="navyblue"))
4

2 に答える 2

2

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

ここに画像の説明を入力してください

コメントで作成されたヘッダーに関する他の質問がわかりません。おそらく、それから新しい、より明確な質問をするでしょう。

于 2012-10-01T19:01:11.233 に答える