Ich versuche zu verstehen, wie ggplot/grid die zu rendernde Punktgröße bestimmt. This answer (mit Kommentar von Hadley) beschreibt die Rolle .pt
magische Zahl Konstante, aber ich kann nicht sehen, wie sich die Zahlen summieren. Dies zeigt:ggplot2: Verstehen Punktgröße
# 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)
ich auf die Größe 76.15
durch Versuch und Irrtum bekam. Bei dieser Größe berühren sich die zwei quadratischen Punkte, aber ich verstehe nicht warum. Das Grundstück ist 6 Zoll breit = 152,4 mm. Um zu treffen, müssen die Punkte 2 Zoll breit sein = 50,8 mm. Aber ich kann nicht sehen, wie Größe 76.15 auf 50.8mm über den Multiplikator .pt
(2.845276) abbildet.
Alle Vorschläge sehr geschätzt. Ich sollte hinzufügen, dass bei Verwendung shape=15
anstelle von 22 die Punktgröße für das gleiche Ergebnis ist 67.15
, aber ich bin mir nicht sicher, dass bringt uns näher an die Antwort.
Miau Professor Ripley! Nun, ich habe auch Mühe, das oben Gesagte zu verstehen, außer RADIUS ist 0.375 und SQRC ist sqrt (pi/4). 'toDeviceWidth' Zeile (' result = (result/dd-> dev-> ipr [0])/fabs (dd-> dev-> right - dd-> dev-> left); ') geht über mich hinaus. Ist deine ggplot2-Idee zu etwas gekommen? – geotheory
IIRC Ich habe ein geom_ngon mit regulären Polygonen gemacht (im sogenannten ggExtra-Paket, jetzt im Ruhestand), aber es war nicht sehr nützlich. – baptiste
Prost dude. Ich nehme an, dass ich für meine aktuellen Zwecke einen Punkt-zu-Zoll-Multiplikator von 38.075 annehmen werde und wie das geht. – geotheory