1
我想了解如何ggplot /網格決定點大小呈現。 This answer(來自Hadley的評論)描述了.pt
的作用,其數字爲不變,但我看不出數字如何加起來。這表明:ggplot2:理解點大小
# empty ggplot obj with no margins outside panel
p0 = ggplot() + scale_size_identity() +
scale_y_continuous(expand = c(0,0)) + scale_x_continuous(expand = c(0,0)) +
theme(axis.text = element_blank(), panel.grid = element_blank(),
panel.border = element_rect(colour='black', fill='transparent'),
panel.spacing = unit(0, 'mm'), axis.ticks.length = unit(0, "mm"),
plot.margin=unit(c(0,0,0,0), "mm")) + labs(x=NULL, y=NULL)
# 2 data points plus 2 corner points to define bbox ('limits' args seem to force extra margins)
d = data.frame(x = 1:4, y = c(100,150,250,300), sz = c(0,76.15,76.15,0))
p = p0 + geom_point(data=d, aes(x, y, size=sz), fill='red', stroke=0, shape=22, alpha=.8)
# output to pdf and open
fn='test.pdf'; ggsave(p, filename = fn, w=6, h=4, units = "in"); browseURL(fn)
我通過反覆試驗得到了大小76.15
。這個大小得到兩個正方形的點,但我不明白爲什麼。該圖是6英寸寬= 152.4毫米。要滿足,點必須是2英寸寬= 50.8毫米。但我看不到尺寸76.15如何通過.pt
乘數(2.845276)映射到50.8毫米。
任何建議非常感謝。我應該補充一點,當使用shape=15
而不是22時,同樣結果的磅值是67.15
,但我不確定這會讓我們更接近答案。
喵喵Ripley教授!那麼我同樣努力去理解以上內容,除了RADIUS是0.375和SQRC是sqrt(pi/4)。 'toDeviceWidth'行('result =(result/dd-> dev-> ipr [0])/ fabs(dd-> dev-> right - dd-> dev-> left);')超出了我。你的ggplot2點的想法是否適用於任何事情? – geotheory
IIRC我做了一個帶有正常多邊形的geom_ngon(在所謂的ggExtra軟件包中,現在已經退役),但它並不是非常有用。 – baptiste
乾杯兄弟。我想爲我目前的目的,我會假設一個點數乘以38.075的倍數,並看看是怎麼回事。 – geotheory