【发布时间】:2019-05-29 16:10:42
【问题描述】:
我想使用 ggplot2 在 R 中创建一个条形图,这样条形图是透明的,允许背景图像可见,而绘图的其余部分是不透明的并覆盖背景图像。
我可以将图像添加到背景中,如下所示,但我找不到仅在条形图中显示背景图像的方法。从本质上讲,我希望创造出与我在这里所拥有的相反的东西。
library(ggplot2)
library(jpeg)
library(grid)
library(scales)
montage <- readJPEG("AcanthMontage.jpg")
mont <- rasterGrob(montage,
width = unit(1,"npc"),
height = unit(1,"npc"))
montplot <- ggplot(frequencyDF, aes(x=depth, y= perLiter)) +
annotation_custom(mont, -Inf, Inf, -Inf, Inf) +
scale_fill_continuous(guide = FALSE) +
geom_bar(stat = "identity", color="black", fill="white", alpha=0.5) +
coord_flip() +
scale_y_continuous(limits= c(0,1.25), expand = c(0, 0)) +
scale_x_continuous(limits= c(-1000,0), expand = c(0,0)) +
theme_bw() +
theme(text=element_text(size=16)) +
xlab("Depth (m)") +
ylab("Cells per Liter")
montplot
【问题讨论】:
-
有趣。在前面,我不知道该怎么做,但作为情节的制造者和消费者,我不得不评论说这是非常忙碌和分散注意力的,甚至可能是反Tufte。你想要这个布局有什么特别的原因吗? (我确实理解你的意思是相反,但还是有点奇怪......我想我的眼睛会尝试为条形图中的某些模式分配意义。)
-
@r2evans 感谢您的评论!我同意情节变得太忙了。蒙太奇中的图像是为创建“每升细胞”计数而计算的实际细胞。我认为将细胞排列在条内可能看起来不错,就像象形文字一样,但是,由于每个条内的细胞数量与每升的细胞数量没有直接关系,我知道这会产生误导.从本质上讲,我试图为海报增添趣味,并在更小的空间中包含更多信息——细胞是什么样子的,有多少。
-
我明白了。 “海报”表示你的用法,虽然它可能仍然很忙,但它更有意义。