我正在用ggplot2繪製一些結果。該數據被組織在結構是這樣的數據幀:如何正確使用ggplot2中的縮放函數中的表達式?
category comparison value
1 A deltaXT/FT 6807
2 B deltaXT/FT 11894
3 C deltaXT/FT 1215
4 D deltaXT/FT 42862
5 E deltaXT/FT 34313
...
總共有4個比較,每個細分爲類別A-E,在相同的數據幀(情節看起來像this)。 我的目標是用「ΔXT/ FT」替代「deltaXT/FT」,使用希臘符號Delta。
在情節我使用的是「比較」一欄定義欄的顏色,就像這樣:
ggplot(data=vars, aes(x=category, y=value, fill=comparison)) +
...
scale_fill_manual(values=c("deltaXT/FT"="#6FA9BC"), ...)
基本上,當我在scale_fill_manual
使用「deltaXT/FT」一切工作就好了並在原始數據框中。如果我嘗試使用expression(Delta * "XT/FT")="#6FA9BC", ...)
我得到這個錯誤:
Error: unexpected '=' in:
...
scale_fill_manual(values=c(expression(Delta * "XT/FT"))="
這個問題似乎是與scale_fill_manual()
:在expression()
不能被用作在那裏關鍵。我在StackOverflow中閱讀了其他線程,其中有人建議使用bquote(expression()=value)
,但使用它時錯誤沒有改變。
任何有關如何克服這個問題的建議,並在圖例中有一個很好的ΔXT/ FT名稱?
編輯:將Δ字符複製粘貼到需要的Rscript中,但我更感興趣的是expression()
在一般情況下是否可以用作關鍵字。