geom_image(): как индивидуально установить размеры изображения

Этот вопрос связан с тем, можно ли выполнить geom_image() из пакета ggimage, чтобы сохранить соотношение сторон изображения? но в моем приложении я хочу создать диаграмму рассеяния, используя изображения, масштабированные пропорционально их фактическим размерам.

Фигура (сделано вручную, с PPT), которую я хочу воспроизвести с geom_image() показано здесь:

введите описание изображения здесь

Я читаю данные следующим образом и получаю размеры изображения, используя readPNG() в png пакет:

> brains.dat <- file.path(folder, "brain-size.csv")
> brains <- read.csv(brains.dat, stringsAsFactors=FALSE)
> brains$class <- factor(brains$class)
> 
> library(png)
> 
> sizes <- t(sapply(brains$img, function(x) dim(readPNG(x))))
> brains$height <- sizes[,1]
> brains$width  <- sizes[,2]
> brains
                species       class brain_weight neurons          img height width
1              Capybara non-primate         48.2    0.30 capybara.png     31    70
2        Rhesus Macaque     primate         69.9    1.71   rhesus.png     63    75
3       Western Gorilla     primate        377.0    9.10  gorilla.png     71    95
4                 Human     primate       1232.0   16.30    human.png     98   117
5 African Bush Elephant non-primate       2848.0    5.59 elephant.png     98   168
> 

Я не вижу способа установить высоту и ширину каждого изображения в вызове ниже, чтобы geom_image():

library(ggimage)
library(ggplot2)
col <- ifelse(brains$class=="primate", "blue", "red")
ggplot(brains, aes(x=brain_weight, y=neurons)) +
    geom_text(aes(label=species), color=col, hjust="inward") +
    geom_image(aes(image=img)) + theme_bw()

Из этого я получаю все изображения примерно одинакового размера и ширины. Я игнорирую твики, необходимые для лучшего размещения меток.

введите описание изображения здесь

Изменить: это было подано как проблема, https://github.com/GuangchuangYu/ggimage/issues/6. Автор говорит, что это еще не поддерживается, но, возможно, есть обходной путь?

1 ответ

Поддерживается, как показано на https://github.com/GuangchuangYu/ggimage/issues/6.

Другие вопросы по тегам