r svg-like output with lines/paths of constant size -
using mwe geom_polygon
example , producing svg file.
ids <- factor(c("1.1", "2.1", "1.2", "2.2", "1.3", "2.3")) values <- data.frame( id = ids, value = c(3, 3.1, 3.1, 3.2, 3.15, 3.5) ) positions <- data.frame( id = rep(ids, each = 4), x = c(2, 1, 1.1, 2.2, 1, 0, 0.3, 1.1, 2.2, 1.1, 1.2, 2.5, 1.1, 0.3, 0.5, 1.2, 2.5, 1.2, 1.3, 2.7, 1.2, 0.5, 0.6, 1.3), y = c(-0.5, 0, 1, 0.5, 0, 0.5, 1.5, 1, 0.5, 1, 2.1, 1.7, 1, 1.5, 2.2, 2.1, 1.7, 2.1, 3.2, 2.8, 2.1, 2.2, 3.3, 3.2) ) # need manually merge 2 datapoly <- merge(values, positions, by=c("id")) (p <- ggplot(datapoly, aes(x=x, y=y)) + geom_polygon(aes(fill=value, group=id)) + geom_path(color="white")) dev.copy(svg, "polygon.svg") dev.off()
this produces svg file nicely 1 slight drawback: "borders" increase when size of picture increased (as expected). can see here (constant border in dynamic svg graphic), normal behaviour svg files. issue interpret these paths "boundaries" or "borders" rather areas, 'should' have constant width @ every zoom level.
what best way produce picture r allows svg-like scalability on interior of polygons respects zero-dimensional width of paths/borders/boundaries?
the context of question producing maps based on australian electoral divisions. (see mapping australian electoral divisions ggplot2.) apart subsetting author suggests, i'd produce file zoomed in on smaller divisions (around sydney example). suggestions new ways of doing welcome, although prefer solutions compatible ggplot2
.
Comments
Post a Comment