3

element_text() を返せないのはなぜですか

> ifelse(TRUE,element_text(size=20),element_text(size=10))
[[1]]
NULL

しかし、私はこれを行うことができますか?

> element_text(size=20)
List of 8
 $ family    : NULL
 $ face      : NULL
 $ colour    : NULL
 $ size      : num 20
 $ hjust     : NULL
 $ vjust     : NULL
 $ angle     : NULL
 $ lineheight: NULL
 - attr(*, "class")= chr [1:2] "element" "element_text"
4

1 に答える 1

7

あなたがそれを使おうとしている方法ではできません:

これが私が意味することの例です:

ggplot(data=PlantGrowth, aes(x=group, y=weight, fill=group)) + 
    geom_boxplot() + 
    theme(legend.text = element_text(size=ifelse(TRUE, 20, 10)))

ベクトル化されたif else使用中の ( ) と関係があります。ifelseあなたは次のようになっていると思いますif(){}else{}

ggplot(data=PlantGrowth, aes(x=group, y=weight, fill=group)) + 
    geom_boxplot()+ 
    theme(legend.text = if(TRUE){element_text(size=20)} else {element_text(size=10)})

私は実際にはこのようにフォーマットしませんが、あなたの方法と比較できるように1行にまとめました。

問題はggplot2あなたの使い方ではありませんifelse。チェックアウトする?ifelseと、ドキュメントには次のように記載されています。

 ‘ifelse’ returns a value with the same shape as ‘test’ which is
 filled with elements selected from either ‘yes’ or ‘no’ depending
 on whether the element of ‘test’ is ‘TRUE’ or ‘FALSE’.

あなたの質問では、構造 element_text(size=10)が似ていない出力を示しています。test

于 2012-10-27T22:23:44.723 に答える