ggplot 그래프에서 각 개별 막대에 그림을 삽입하는 방법


9

다른 통계에서 다른 NBA 신인을 비교하려고하는데 r / dataisbeautiful graphs 와 같이 그래프 끝에 플레이어의 얼굴을 추가 할 수 있다면 그래프가 멋지게 보일 것이라고 생각했습니다 . 내 코드는 현재 다음과 같습니다.

a3 %>%
  ggplot(aes(x = reorder(Player,
                         PPM),
             y = PPM)) +
  geom_bar(stat = "identity",
           aes(fill = Player)) +
  geom_text(aes(label = PPM), size = 3, position = position_dodge(width = 1),
            hjust = -0.1) +
  coord_flip() +
  theme_minimal() +
  xlab("Player") +
  ylab("Points Per Minute") +
  theme(legend.position = "none")

이것이 내 그래프가 현재 보이는 모습입니다.처럼


2
이 블로그 게시물을 보았습니까? jcarroll.com.au/2019/08/13/ggtext-for-images-as-x-axis-labels
Ben

2
ggtext패키지이 허용하는 것 같다 github.com/clauswilke/ggtext#markdown-in-theme-elements
존 봄

이것이 귀하의 질문에 대답합니까? 애니메이션 ggplot2에 축 레이블에 이미지 포함
Tjebo

답변:


7

당신은 reprex를 제공하지 않았으므로 무언가를 만들어야합니다. 아마 이렇게 할 것입니다.

library(tidyverse)
library(ggtextures)
library(magick)
#> Linking to ImageMagick 6.9.9.39
#> Enabled features: cairo, fontconfig, freetype, lcms, pango, rsvg, webp
#> Disabled features: fftw, ghostscript, x11

data <- tibble(
  count = c(5, 6, 6, 4, 2, 3),
  animal = c("giraffe", "elephant", "horse", "bird", "turtle", "dog"),
  image = list(
    image_read_svg("http://steveharoz.com/research/isotype/icons/giraffe.svg"),
    image_read_svg("http://steveharoz.com/research/isotype/icons/elephant.svg"),
    image_read_svg("http://steveharoz.com/research/isotype/icons/horse.svg"),
    image_read_svg("http://steveharoz.com/research/isotype/icons/bird.svg"),
    image_read_svg("http://steveharoz.com/research/isotype/icons/turtle.svg"),
    image_read_svg("http://steveharoz.com/research/isotype/icons/dog.svg")
  )
)

ggplot(data, aes(animal, count, fill = animal, image = image)) +
  geom_isotype_col(
    img_height = grid::unit(1, "null"), img_width = NULL,
    ncol = 1, nrow = 1, hjust = 1, vjust = 0.5
  ) +
  coord_flip() +
  guides(fill = "none") +
  theme_minimal()

reprex 패키지 (v0.3.0)로 2019-11-03에 작성


고마워, 이것은 잘 작동했습니다! 나는 ggplot (data, aes (animal, count, fill = animal, image = image & x))
Pedro Guizar

이에 대한 별도의 최상위 질문을 게시하십시오.
클로스 윌크

@Claus Wilke가 방금 했습니까? stackoverflow.com/questions/58793147/…
Pedro Guizar

이것은 매우 유용합니다. CRAN에서 ggtexture를 얻을 계획이 있습니까?
stevec

아니요. 이제 훨씬 더 강력한 ggpattern이 있습니다. github.com/coolbutuseless/ggpattern
Claus Wilke
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.