[英]R plot: Bringing formatted values into expression() in base graphics legend
問題如下:我嘗試制作一個圖例,其中會有類似以下內容:
ɛ= 5 L /(mol cm)。 但是,該數字是計算得出的,這里是一個最小的示例:
plot(rnorm(10,3),rnorm(10,3))
epsilon.calc <- mean(rnorm(10,3))
legend("topleft",bty="n",legend=paste("epsilon=",format(epsilon.calc,digits=5),"L/(molcm)"))
legend("bottom",bty="n",legend=expression(epsilon,paste(format(epsilon.calc,digits=5)),"L/(molcm)"))
如果使用第一個圖例,則可以粘貼數字(epsilon.calc),如果使用圖例2,則可以正確的方式表達epsilon。 任何人都想結合如何在一個圖例中結合那些expression()和paste()?
這就是我想要的:
legend("bottom",bty="n",legend=c(bquote(epsilon ==.(format(epsilon.calc, digits=5))),
expression( L/(mol %.% cm) )
) )
最好學會在不使用paste()
使用plotmath。 bquote
是完成評估的最簡單機制,但也可以用substitute
方法完成。 paste
在表達式調用內部實際上是與paste
“外部”函數不同的函數。
這是單行版本:
legend("bottom",bty="n",
legend=bquote(epsilon ==.(format(epsilon.calc, digits=5))~(L/(mol %.% cm))
) )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.