, , ggplot, , ggplot. ggplot - . , . , , "" "". , ggplot, grid; , .
, ( ) , .
ggplot - expand = c(0,0) , , .
df <- data.frame(Documents = c(1.5e5, .6e5, .3e5, .1e5), stages = c("Hold", "Back", "Trust", "Camp"), x = c(12, 18, 25, 35), y = c(10, 8, 7, 6))
library("ggplot2")
library(ggthemes)
library(grid)
p = ggplot(df, aes(x = x, y = y, size = Documents)) +
geom_point(color = "grey30", alpha = 0.3) + theme_tufte() +
scale_size_area(max_size = 35) +
geom_text(aes(label = stages), size = 6, color = "red") +
theme(axis.text = element_blank()) +
labs(x = "", y = "", fill = "Documents") +
theme(legend.position = "bottom") +
scale_x_continuous(limits = c(8,38), expand = c(0,0)) +
scale_y_continuous(limits = c(5,13), expand = c(0,0))
p
g = ggplot_build(p)
df$size = g$data[[1]]$size
current.vpTree()
downViewport("panel.6-4-6-4")
pushViewport(dataViewport(yscale = c(5,13), xscale = c(8,38)))
grid.points(x = unit(df$x, "native"), y = unit(df$y, "native") + unit(df$size, "pt"), pch = 19, gp = gpar(col = "blue", cex = .5), default.units = "native")
grid.points(x = unit(df$x, "native"), y = unit(df$y, "native") - unit(df$size, "pt"), pch = 19, gp = gpar(col = "blue", cex = .5), default.units = "native")
grid.lines(x = unit(df$x, "native"), y = unit(df$y, "native") + unit(df$size, "pt"), gp = gpar(col = "blue", lwd = 2), default.units = "native")
grid.lines(x = unit(df$x, "native"), y = unit(df$y, "native") - unit(df$size, "pt"), gp = gpar(col = "blue", lwd = 2), default.units = "native")
popViewport()
popViewport()
popViewport()
