簡體   English   中英

將點 cex 轉換為英寸、像素或 r 中的 plot 坐標

[英]convert point cex to inches, pixels, or plot coordinates in r

我正在嘗試將 cex 中的點大小轉換為 plot 上的寬度和高度單位。我可以使用以英寸、像素或 xy 坐標為單位的單位。 我發現了一些類似的東西來尋找字符的大小,但我找不到任何關於標繪點的東西。 如果我可以使用par()算出cex = 1時點的大小,那么我也可以計算不同比例點的大小。

對於字符,獲取高度和寬度:
par("cin")英寸
par("cra")像素
par("cxy") xy 坐標

是否有類似的選項來獲取點的大小?
或者,如何將字符高度和寬度轉換為點直徑?

(請注意,這個類似的問題How to determine symbol size in x and y units只回答字符而不是點。)

通過反復試驗,看起來點直徑(在 xy 坐標中)是字符高度除以 2*pi。

char.height <- par("cxy")[2]
point.diam <- char.height / (2 * pi)
point.cex <- 7 # try changing and it still works
point.diam.cex <- point.diam * point.cex

plot(x = 0, y = 1, type = "n")
points(x = 0, y = 1, cex = point.cex, pch = 21, bg = "grey")
segments(x0 = 0 - (point.diam.cex/2), x1 = 0 + (point.diam.cex/2), y0 = 1, y1 = 1, col = "red")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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