Ggplot2: пузыри, представляющие предложения по категориям? - PullRequest
2 голосов
/ 26 марта 2020

У меня есть эти данные:

# A tibble: 19 x 8
   country               Prop_A            Prop_B         Prop_C              Prop_D            Prop_E            Prop_F         Prop_G
   <fct>                 <dbl>           <dbl>            <dbl>               <dbl>             <dbl>              <dbl>          <dbl>
 1 Austria               1                   1            0.912               0.912             0.518             0.999          0.567 
 2 Belgium               1                   1            0.821               1                 0.687             0.0990         0.925 
 3 Denmark              NA                  NA           NA                  NA                NA                NA             NA     
 4 France                0.750               1            0.361               0.345             0                 0.0658         0.563 
 5 Germany               0.928               1            0.674               0.783             0.128             0.635          0.0828
 6 Greece                0                   1            0                   0                 0                 1              0     
 7 Hungary               0.812               1            0.812               0.812             0                 0.375          0.188 
 8 Israel                1                   1            1                   0.755             0.450             0.241          0.292 
 9 Italy                 0.962               1            0.881               0.516             0.533             0              0.0230
10 Latvia                0                   1            1                   0                 0                 0              0     
11 Lithuania             0.507               1            1                   0.507             0                 0              0     
12 Malta                 1                   1            1                   1                 0                 1              0     
13 Netherlands           0.818               1            1                   0.682             0.5               0.182          0.682 
14 Portugal              0.829               1            1                   0.829             0                 0.610          0.509 
15 Romania               1                   1            1                   1                 0                 0.273          1     
16 Spain                 1                   1            1                   0.787             0.215             0.191          0.653 
17 Sweden                0.792               1            0.792               0.167             0.375             0              0     
18 Switzerland           0.697               1            1                   0.547             0.126             0.724          0.210 
19 Turkey                1                   1            0.842               0.775             0.585             0.810          0.117 
> 

0,812 представляют 81% для предложения A в Венгрии (7)

Что мне нужно, так это графическое изображение c:

Exemple

https://zupimages.net/viewer.php?id=20 / 13 / ob6z.png

Я хочу, чтобы в пузыре было "81%", страны в строках и различные "реквизиты" в столбцах.

Я пробовал geom_tile, но не работает. Я не понимаю, правильно ли построены мои данные или я просто не могу найти хорошую команду.

Спасибо за вашу помощь!

1 Ответ

2 голосов
/ 26 марта 2020

Вот один из подходов к созданию пузырькового графика.

library(tidyverse)

df %>%
  mutate_at(vars(starts_with("Prop")), list(~. * 100)) %>%
  pivot_longer(cols = starts_with("Prop"), names_to = c("Prop", "Type"), names_sep = "_") %>%
  ggplot(aes(x = Type, y = country, size = value, label = value)) +
  geom_point(shape = 21, fill = "white") +
  geom_text(size = 3) +
  scale_size(range = c(5, 15), guide = F)

Участок

bubble plot

...