我找不到一种方法来删除geom_ol()中每一列周围出现的轮廓,特别是在导出为pdf(需要矢量图形)时.
超过col=NA
或linewidth=0
应该会掩盖轮廓,但似乎不起作用.如果我以PNG格式导出,即使不包括这些参数,列轮廓也会消失.
我想将每个数据点表示为一个条形图:我不想用geom_line()+ geom_area()
的组合平滑数据. 然而,每一列周围的轮廓是分散注意力的,我想删除它们.
感谢您的真知灼见!
NOTE:我无法上传pdf,所以在从R导出后,我将pdf转换为高分辨率的PNG.
df <- data.frame(
Position = rep(1:300, 3),
Signal = sample(1:30, 900, replace=TRUE),
Group = c(rep("A", 300), rep("B", 300), rep("C", 300))
)
plot <- ggplot() +
geom_col(data = df, aes(x=Position, y=Signal, fill=Group), col=NA, size=0) +
facet_grid(Group~.)
ggsave("~/Desktop/plot.pdf", plot, device = "pdf")
ggsave("~/Desktop/plot.png", plot, device = png, dpi=300)
# I've also tried cairo - similar outcome
ggsave("~/Desktop/plot_cairo.pdf", plot, device = cairo_pdf)
UPDATE加上width=1
参数mostly就解决了这个问题(感谢Gregor、Artëm和Zé).细线轮廓保留在相邻y值不同的列处,而具有相同y值的相邻列没有所需的轮廓.
col=NULL
和linewidth=0
参数似乎对pdf输出没有任何影响.
plot2 <- ggplot() +
geom_col(data = df, aes(x=Position, y=Signal, fill=Group), width=1, col=NA, linewidth=0) +
facet_grid(Group~.)
ggsave("~/Desktop/plot2.pdf", plot2, device = "pdf")
# Omitting col and linewidth arguments
plot3 <- ggplot() +
geom_col(data = df, aes(x=Position, y=Signal, fill=Group), width=1) +
facet_grid(Group~.)
ggsave("~/Desktop/plot3.pdf", plot3, device = "pdf")
Plot PDF VERSION (Click image to Zoom-in)
Plot PNG VERSION (Click image to Zoom-in)