ggimage: aes (альфа) не угасает, как ожидалось - PullRequest
0 голосов
/ 27 мая 2019

Проблема: когда я устанавливаю альфа для изображений, кажется, что он отлично работает с небольшим образцом, но начинает сбой или изменение, если много точек строится с использованием изображений.

Общая цель: показать, сколько животных «пропало» после некоторых событий в данной среде обитания (т. Е. Раньше было 20 видов, сейчас осталось только 4, поэтому всего 20 изображений, из которых 4 полноцветных и 16 блеклых) / серым цветом). У меня есть только 2 альфа-уровня (жестко закодированные в данных): 0,03 (для блеклых) и 1 (для не блеклых).

Мои образцы данных имеют 200 строк, расположенных в псевдо-вафельном графике. Используя приведенный ниже код, если я отображаю только 40 строк sample_n(40), то к каждому изображению применяется правильная альфа. Если я нарисую 80 строк sample_n(80), то только несколько изображений будут применены к альфа-каналу, и это выглядит менее «блеклым». Если я построю график всех 200 строк sample_n(200), то ни одна альфа не будет применена ни к одной точке. Изображения ниже.

reprex: data здесь (я использую 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 рядов - вы можете видеть, что рыба (зеленая) больше не имеет альфа, но моллюски и медузы все еще в порядке. image

График 200 строк - вы можете видеть, что у рыбы (зеленой) едва ли есть альфа, а выцветшие моллюски и медузы намного темнее / менее выцветшие image

График с использованием geom_point () вместо geom_image () работает нормально: enter image description here

...