簡體   English   中英

R:使用具有通用XY繪圖功能的cm單位定位圖形元素

[英]R: Positioning graph elements using cm units with generic X-Y Plotting functions

我確信這對於R社區來說並不是新事物,但對我來說卻是新事物,因此找不到明確的答案。 假設這個例子:

plot(1:10, xlab="", xaxt="n") # supress OX axis
title(xlab="How can I use cm?", line=2.5)
axis(side=1, at=1:10, line=0.2) 

在此處輸入圖片說明

在這里,我在函數title()使用了line參數,以在“從繪圖邊緣向外”的2.5行文本處放置標簽(如?title幫助中所述)。 是否有任何可以占用cm的參數,或者使用cm的方法? 另外,如何確定一行文本包含多少厘米(如果沒有其他方法)?

知道/設置以cm為單位的邊距,不僅會像par("mar") [文本行]或par("mai") [inches]一樣,也很棒。 有沒有辦法做到這一點?

使用此答案中line2user函數,您可以將厘米轉換為“線”,然后將線轉換為用戶坐標,並使用xpd = TRUE將其添加到繪圖中:

cm2line <- function(x) {
  lh <- par('cin')[2] * par('cex') * par('lheight')
  inch <- x/2.54
  inch/lh
}

par(mai = rep(5/2.54, 4))
plot.new() 
box()
mtext("hello", side = 3, line = cm2line(2))
abline(h = line2user(cm2line(1:5), side = 4), xpd = TRUE)
abline(h = line2user(cm2line(1:5), side = 1), xpd = TRUE)
abline(v = line2user(cm2line(1:5), side = 2), xpd = TRUE)
abline(v = line2user(cm2line(1:5), side = 3), xpd = TRUE)

在此處輸入圖片說明

暫無
暫無

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

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