Aby wykreślić 9 histogramy na wykresie ggplot użyłem następujące dane:ggplot2: Jak wymusić liczbę aspektów przy zbyt małej liczbie działek?
id variable value
1 Segment III | RIM BlackBerry Pearl | 5.600000
2 Display size | RIM BlackBerry Pearl | 6.500000
3 Voice/call quality | RIM BlackBerry Pearl | 5.600000
4 Instant messaging availability | RIM BlackBerry Pearl | 7.200000
5 Media quality | RIM BlackBerry Pearl | 6.100000
6 Ease of use for typing | RIM BlackBerry Pearl | 5.700000
7 Speed in accessing email | RIM BlackBerry Pearl | 6.400000
8 Segment II | RIM BlackBerry Pearl | 5.545455
9 Value for money | RIM BlackBerry Pearl | 6.000000
10 Segment III | Palm Treo 700p | 4.320000
11 Display size | Palm Treo 700p | 6.500000
12 Voice/call quality | Palm Treo 700p | 8.000000
13 Instant messaging availability | Palm Treo 700p | 5.100000
14 Media quality | Palm Treo 700p | 7.000000
15 Ease of use for typing | Palm Treo 700p | 6.200000
16 Speed in accessing email | Palm Treo 700p | 6.500000
17 Segment II | Palm Treo 700p | 4.454545
18 Value for money | Palm Treo 700p | 5.400000
19 Segment III | Motorola Q | 4.680000
20 Display size | Motorola Q | 7.400000
21 Voice/call quality | Motorola Q | 4.800000
22 Instant messaging availability | Motorola Q | 5.300000
23 Media quality | Motorola Q | 6.900000
24 Ease of use for typing | Motorola Q | 7.400000
25 Speed in accessing email | Motorola Q | 8.000000
26 Segment II | Motorola Q | 3.121212
27 Value for money | Motorola Q | 4.200000
28 Segment III | Nokia 9300 | 4.360000
29 Display size | Nokia 9300 | 6.400000
30 Voice/call quality | Nokia 9300 | 7.800000
31 Instant messaging availability | Nokia 9300 | 6.700000
32 Media quality | Nokia 9300 | 5.900000
33 Ease of use for typing | Nokia 9300 | 4.500000
34 Speed in accessing email | Nokia 9300 | 6.300000
35 Segment II | Nokia 9300 | 7.181818
36 Value for money | Nokia 9300 | 4.600000
37 Segment III | Sony Ericsson M600i | 4.360000
38 Display size | Sony Ericsson M600i | 7.300000
39 Voice/call quality | Sony Ericsson M600i | 8.000000
40 Instant messaging availability | Sony Ericsson M600i | 1.500000
41 Media quality | Sony Ericsson M600i | 7.800000
42 Ease of use for typing | Sony Ericsson M600i | 5.000000
43 Speed in accessing email | Sony Ericsson M600i | 8.100000
44 Segment II | Sony Ericsson M600i | 3.606061
45 Value for money | Sony Ericsson M600i | 4.000000
46 Segment III | Sidekick3 | 7.040000
47 Display size | Sidekick3 | 7.200000
48 Voice/call quality | Sidekick3 | 6.300000
49 Instant messaging availability | Sidekick3 | 7.200000
50 Media quality | Sidekick3 | 6.400000
51 Ease of use for typing | Sidekick3 | 6.800000
52 Speed in accessing email | Sidekick3 | 6.200000
53 Segment II | Sidekick3 | 3.424242
54 Value for money | Sidekick3 | 5.300000
Potem używany następujący kod:
ggplot(data = data_sub, aes(x = variable, y = value)) +
geom_bar(stat = "identity") +
facet_wrap(~id, ncol = 3) +
coord_flip() +
theme(axis.title.x = element_blank(),
axis.title.y = element_blank(),
panel.grid = element_blank(),
legend.position = "none")
Moje pytanie:
Kiedy mam mniej wykresów, na przykład tylko jeden, chciałbym zachować to formowanie. Jednak otrzymuję tylko duży wykres podobny do poniższego (nie zwracaj uwagi na legendy).
bym użyć 'drop = FAŁSZ' 'facet_wrap' w celu uniknięcia spadku stężenia czynnika nieużywane, lub ręcznie utworzyć siatkę przy użyciu' gridExtra :: grid.arrange' lub 'cowplot 'pakiet. – lukeA
może [ta odpowiedź przez baptystę] (http://stackoverflow.com/a/32583612/3283824) na podobne pytanie, które miałem jakiś czas temu daje ci kilka pomysłów .. – beetroot