2
我試圖在R圖中生成一個美麗的圖例。我有一個factor=1e-5
,應該很好地顯示在圖例中的格式。我在包sfsmisc
中發現了一個很好的功能,它將數字轉換爲表達式。要將這個表達式添加到我的bquote命令中,似乎需要將它轉換爲一個調用。不幸的是,在字符串的末尾添加了大括號(10^-5()
)。用指數變換數字來繪製R中美麗的圖例的命令
有沒有辦法避免添加大括號?還是有更簡單的方法來將數字轉換爲plotmaths命令以供它們在圖例中使用? (沒有做手工)
factor = 1e-5
alpha = 1:10
omega = alpha^2 * factor
plot (
alpha
, omega
, xlab=bquote(alpha)
, ylab=bquote(omega)
, type="b"
)
text = expression()
# standard version
text[1] = as.expression(bquote(alpha%*%.(factor)))
# beautified version (use pretty10exp from sfsmisc package!?)
library("sfsmisc")
pretty = as.call(pretty10exp(factor, drop.1=T))
text[1] = as.expression(bquote(alpha^2%*%.(pretty)))
# add legend
legend("topleft", legend=text, pch=1, lty=1)
不錯的解決方法,...我認爲有更簡單的方法。無論如何,首先生成plotmath命令,然後解析它,仍然很直觀,... – 2013-03-08 11:13:33
是的,我試圖找到一種方法來直接連接兩個表達式(一個與alpha和pretty10exp輸出),但不能不需要像這裏那樣建立一個字符串作爲前面的步驟。 – plannapus 2013-03-08 11:18:06