考虑这个简单的ggplot:
我在它周围画了一个黑边,这样更容易想象它有多大。
我不明白为什么这个图这么大。我在我的代码中没有告诉ggplot我想要任何在图形上方或下方的区域。
每次看到这都会让我很困扰。我如何控制ggplot中的画布大小?
library(ggplot2)
hex=c("#CC0000", "#90BD31", "#178CCB")
q <- ggplot(data=NULL)
q <- q + geom_rect(data=NULL, aes(xmin=0, xmax=1, ymin=0.5, ymax=1.5), fill=hex[1])
q <- q + geom_rect(data=NULL, aes(xmin=1.5, xmax=2.5, ymin=0.5, ymax=1.5), fill=hex[2])
q <- q + geom_rect(data=NULL, aes(xmin=3, xmax=4, ymin=0.5, ymax=1.5), fill=hex[3])
q <- q + annotate("text", x=.5, y=0.1, label='Impaired', size=4)
q <- q + annotate("text", x=2, y=0.1, label='Normal', size=4)
q <- q + annotate("text", x=3.5, y=0.1, label='Optimal', size=4)
q <- q + coord_fixed()
q <- q + theme_classic()
q <- q + theme(axis.line=element_blank(),
axis.text.x=element_blank(),
axis.text.y=element_blank(),
axis.ticks=element_blank(),
axis.title.x=element_blank(),
axis.title.y=element_blank(),
panel.background=element_blank(),
panel.border=element_blank(),
panel.grid.major=element_blank(),
panel.grid.minor=element_blank(),
plot.background=element_blank())
q
hex
,我会添加它。我同意你的观点。我没有提到的是,这个 ggplot 正在一个 Shiny 应用程序中使用。因此,我不能像你建议的那样以其他合理的方式控制图形输出设备。另外,除了hex
之外,其他所有内容都应该是可重现的。 - tumultous_roostershiny::plotOutput
和shiny::renderPlot
都接受高度和宽度参数... - Gregor Thomas