ggimage:aes(alpha)不会使事物褪色

时间:2019-05-27 19:00:52

标签: r ggplot2 alpha ggimage

问题:当我为图像设置Alpha值时,使用少量样本似乎可以正常工作,但是如果使用图像绘制了很多点,则开始失败或更改。

总体目标:显示在给定栖息地发生某些事件后有多少动物“失踪”(例如,过去有20种,现在只剩下4种,因此共有20张图像,其中4张为全彩,16张褪色了) /灰色)。我只有2个alpha级别(在数据中进行了硬编码):0.03(用于褪色)和1(用于不褪色)。

我的样本数据有200行,排列为伪华夫格图表。使用下面的代码,如果我仅绘制40行sample_n(40)的图形,则每个图像都会应用正确的alpha。如果我绘制80行sample_n(80),则仅应用了少量图像,因此“褪色”的程度降低了。如果我绘制所有200行sample_n(200)的图形,则没有alpha应用于任何点。图片如下。

代表: 数据 here (我使用pokemon进行简单的表示,但实际上我使用的是本地.png文件。问题同时出现在两者中)

代码:

library(tidyverse)
library(ggimage)
library(readr)

biomass <- read_csv("biomass.csv")
set.seed(10)
biomass %>%
  sample_n(40) %>%
  ggplot(aes(
    x = row,
    y = coln,
    color = animals,
    alpha = alph
  )) +
  geom_pokemon(aes(image = case_when(
    animals == "Cnidarians" ~ "tentacool",
    animals == "Molluscs" ~ "shellder",
    animals == "Fish" ~ "magikarp"
  )), size = 0.04) +
  scale_alpha_identity() +
  theme_void() +
  theme(legend.position = "none")

绘制40行图形-您可以看到每个动物组都有一些全色,有些褪了色。水母非常褪色,几乎无法察觉: image

绘制80行图形-您可以看到鱼(绿色)不再具有alpha了,但是蛤and和水母仍然可以。 image

绘制200行图形-您可以看到鱼(绿色)几乎没有alpha,褪色的蛤and和水母更暗/褪色更少 image

使用geom_point()而不是geom_image()进行绘图可以正常工作: enter image description here

0 个答案:

没有答案
相关问题