2011-12-20 100 views
2

我試圖通過使用scale_colour_discrete將下標添加到我的ggplot2 geom_point顏色圖例中。類似的問題彈出hereggplot2圖例因子標籤中的下標(或其他數學公式)

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]],...): 不能強制類型 '符號' 到類型 '雙' 的矢量

這個錯誤不會發生,不在labels定義expression。它會出現在expression裏面。

關於這個問題的任何想法? scale_colour_discrete只是不適用於expression?是否有另一種方法可以將下標加入這些圖例因子名稱中?

非常感謝!

回答

1

無法在沒有您的數據的情況下複製此信息。試圖與「鑽石」的數據類似的東西,如幫助(scale_colour_discrete)描述:

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

作品,標註在數學符號與方各個層面。

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

作品,標籤清晰度下標1在所有級別。

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

如果這沒有幫助您找到問題的解決方案,你可以爲別人提供麻煩拍攝重複的例子?