Uzyskaj szerokość obszaru wydruku w ggplot2
Czy istnieje sposób, aby uzyskać szerokość obszaru wydruku w oknie siatki? Na przykład rośnie lub kurczy się, jeśliplot.margin
jest zmieniany lub jeśli rozmiar czcionki na osi Y jest zwiększany. Jest ukryty gdzieś w środkustr(p)
?
Działałby dowolny rozmiar. Muszę być w stanie zmierzyć względną zmianę szerokości obszaru wydruku w różnych scenariuszach, takich jak zmiana rozmiaru czcionki na etykietach osi y.
df = data.frame(x = (1:3),One=c(12, 8, 13),Two=c(13, 7, 11),Three=c(11, 9, 11))
df.melt = melt(df, id.vars="x")
p = ggplot(df.melt, aes(x=x, y=value, color=variable)) +
geom_line() +
coord_cartesian(xlim=c(min(df.melt$x),max(df.melt$x))) +
theme(legend.position="none", plot.margin = unit(c(1, 4, 1, 1), "cm"))
p
AKTUALIZACJA - Aby wyjaśnić: Pomóż mi obliczyća/b
.
p = ggplot(df.melt, aes(x=x, y=value, color=variable)) +
geom_line() + coord_cartesian(xlim=c(min(df.melt$x),max(df.melt$x))) +
theme(legend.position="none")
p1 = p + theme(plot.margin=unit(c(1,1,1,1),"cm"), axis.text.y=element_text(size=10))
p2 = p + theme(plot.margin=unit(c(1,1,1,2),"cm"), axis.text.y=element_text(size=30))
grid.arrange(p1, p2, ncol=2)