添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
我要绘制几个不同的类别。这些是不同的类别,每个类别都有自己的标签集,但是在文档中将它们分组在一起是有意义的。下面给出了一些简单的堆叠条形图示例:df <- data.frame(x=c("a", "b", "c"),                 y=c("happy", "sad", "ambivalent about life"))ggplot(df, aes(x=factor(0), fill=x)) + geom_bar()ggplot(df, aes(x=factor(0), fill=y)) + geom_bar()问题在于,使用不同的标签,图例具有不同的宽度,这意味着绘图具有不同的宽度,如果我制作表格或\subfigure元素,结果看起来会有些愚蠢。我怎样才能解决这个问题?有没有一种方法可以显式设置绘图或图例的宽度(绝对或相对)?
查看完整描述

TA贡献1810条经验 获得超4个赞

该cowplot软件包还具有align_plots用于此目的的功能(输出未显示),


both2 <- align_plots(p1, p2, align="hv", axis="tblr")

p1x <- ggdraw(both2[[1]])

p2x <- ggdraw(both2[[2]])

save_plot("cow1.png", p1x)

save_plot("cow2.png", p2x)

并将plot_grid图保存到同一文件中。


library(cowplot)

both <- plot_grid(p1, p2, ncol=1, labels = c("A", "B"), align = "v")

save_plot("cow.png", both)


查看完整回答

TA贡献2051条经验 获得超10个赞

Arun建议将图例移至顶部或底部:


ggplot(df, aes(x=factor(0), fill=x)) + geom_bar() + theme(legend.position = "bottom")

ggplot(df, aes(x=factor(0), fill=y)) + geom_bar() + theme(legend.position = "bottom")

在此处输入图片说明 在此处输入图片说明


现在,这些图具有所需的相同宽度。此外,在两种情况下,绘图区域的大小均相等。


如果有更多因素或更长的标签,则可能需要使用图例,例如,在两行或更多行中显示图例。theme()并guide_legend()有几个参数可控制图例在ggplot2。


查看完整回答