2

を使用して、ggplot2 geom_point の色の凡例に下付き文字を追加しようとしましたscale_colour_discrete同様の問題がここに現れました

p <- ggplot(myData, aes(myFeature1,myFeature2))
p <- p + geom_point(aes(colour = myFeature3)) + facet_grid(n ~ cond)
p <- p + scale_colour_discrete(breaks = levels(myData$myFeature3), labels = c(expression(myFeature3[1]),expression(myFeature3[2]))

ただし、次のエラーが発生します: FUN(X[[1L]], ...) のエラー: 型 'symbol' を型 'double' のベクトルに変換できません

labelsこのエラーは、定義なしでは発生しませんexpression。の中にあるものは何でも発生しますexpression

この件に関するアイデアはありますか?scale_colour_discreteだけでは動作しませんかexpression? これらの凡例の因子名に添え字を付ける別の方法はありますか?

どうもありがとう!

4

2 に答える 2

1

diamondsこれは、ダイヤモンドカットのラベルがCut_1、...、Cut_5に置き換えられたデータセットを使用した例です。

ggplot(diamonds, aes(x = carat, y = price)) + 
  geom_point(aes(colour = cut)) + 
  facet_grid(color ~ clarity) + 
  scale_colour_discrete(breaks = levels(diamonds$cut), 
                        labels = c(expression(Cut[1]),
                                   expression(Cut[2]),
                                   expression(Cut[3]),
                                   expression(Cut[4]),
                                   expression(Cut[5])))

これが問題の解決策を見つけるのに役立たない場合は、他の人がトラブルシューティングするための再現可能な例を提供できますか?

于 2011-12-21T12:51:23.917 に答える
1

あなたのデータなしではこれを複製することはできません。help(scale_colour_discrete)で説明されているように、「diamonds」データと同様のことを試してみてください。

d + scale_colour_discrete(breaks=levels(diamonds$clarity),labels=rep(expression(a^2),8))

動作し、数学表記ですべてのレベルにa-squaredのラベルを付けます。

d + scale_colour_discrete(breaks=levels(diamonds$clarity),labels=rep(expression(clarity[1]),8))

動作し、すべてのレベルで明確な下付き文字1でラベル付けします。

于 2011-12-20T13:56:45.837 に答える