कैसे एक ggplot ग्राफ में प्रत्येक व्यक्ति बार में चित्र सम्मिलित करें


9

मैं अलग-अलग आँकड़ों में अलग-अलग एनबीए बदमाशों की तुलना करने की कोशिश कर रहा हूँ, और मुझे लगा कि ग्राफ बहुत अच्छा लगेगा यदि मैं ग्राफ के अंत में खिलाड़ी के चेहरे को जोड़ सकता / सकती हूँ जैसे कि आर / डेटाबसफुल ग्राफ़ । मेरा कोड वर्तमान में यह है:

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 में अक्ष लेबल पर छवियों को शामिल करना
TJbo

जवाबों:


7

आपने कोई रीप्रिक्स प्रदान नहीं किया, इसलिए मुझे कुछ बनाने की आवश्यकता है। मैं शायद इसे ऐसे ही करूंगा।

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()

2019-11-03 को रेप्रेक्स पैकेज (v0.3.0) द्वारा बनाया गया


धन्यवाद, यह बहुत अच्छा काम किया! मैं पूछना चाहता था कि क्या यहाँ पर एक ही बार पर दो चित्र प्रदर्शित करना संभव है (मैं मान के साथ खिलवाड़ कर रहा हूँ) ऐसा कुछ होने से: ggplot (डेटा, anes (जानवर, गिनती, भरण = पशु), image = छवि और x))
पेड्रो गुइज़र

कृपया इसके लिए एक अलग शीर्ष-स्तरीय प्रश्न पोस्ट करें।
क्लॉस विलके

बस @Claus विके किया stackoverflow.com/questions/58793147/...
पेड्रो Guizar

यह बहुत उपयोगी है। क्या CRAN पर ggtextures पाने की योजना है?
स्टीववे

नहीं। अब ggpattern है जो बहुत अधिक शक्तिशाली है। github.com/coolbutusless/ggpattern
क्लॉस विलके
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.