簡體   English   中英

R圖:將格式化的值帶入基礎圖形圖例中的expression()中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM