模糊徽标ggplot图表

时间:2019-03-02 14:16:16

标签: r ggplot2

我正在尝试在所有图表下添加公司徽标。我设法做到了,但是最终结果看起来有些令人失望。尽管我使用高分辨率图像,但徽标看起来仍然很模糊。

有什么办法可以改善这个状况? (请注意,我使用的R logo具有与公司徽标的分辨率相同的分辨率。它们均为1000 * 1000px)

下面是我的代码:

library(ggplot2)
library(png)
library(gridExtra)
library(grid)

dev.off(dev.list()["RStudioGD"])
gg <- ggplot(mtcars, aes(x = mpg, y = wt)) + 
  theme_minimal() +
  geom_count() + 
  labs(title = "Title Goes Here", x = "", y = "")

img <- readPNG("R-logo.png")
gg = gg + 
  annotation_custom(rasterGrob(img), 
                    xmin=0.95*min(mtcars$mpg)-1, xmax=0.95*min(mtcars$mpg)+1, 
                    ymin=0.6*min(mtcars$wt)-0.7, ymax=0.6*min(mtcars$wt)+0.5) +
  theme(plot.margin=margin(5,10,40,5))

# Turn off clipping
gt <- ggplot_gtable(ggplot_build(gg))
gt$layout$clip[gt$layout$name=="panel"] <- "off"
png('chart.png', width = 600, height = 500, units = "px",type='cairo',res=72)
grid.draw(gt)
dev.off()

enter image description here

1 个答案:

答案 0 :(得分:1)

enter image description here 实际上,我发现了在覆盖地块之前适当缩放徽标的方法。 magick软件包的运行效果非常好。

library(magick)
img <- image_read("R-logo.png")
img <- image_scale(img, "50")