我正在尝试可视化一个数据集,其中包含许多个国家,每个国家有两年的变量和每年的值(世界新闻自由指数)。我已经在stackoverflow和其他网站上搜索答案,但我没有找到任何有用的信息。
这是通过使用ddplyr melt处理后的数据集:
pfindex2narrow = reshape2::melt(pfindex2, id.vars = 'Origin')
pfindex2narrow
Origin variable value
1 Eritrea 2014 84.86
2 NorthKorea 2014 83.25
3 Turkmenistan 2014 80.83
4 Syria 2014 77.29
5 China 2014 73.55
6 Vietnam 2014 72.63
7 Sudan 2014 72.34
8 Iran 2014 72.32
9 Somalia 2014 72.31
10 Laos 2014 71.25
11 Djibouti 2014 71.04
12 Cuba 2014 70.21
13 Yemen 2014 66.36
14 EquatorialGuinea 2014 66.23
15 Uzbekistan 2014 61.14
16 SaudiArabia 2014 59.41
17 Bahrain 2014 58.69
18 Azerbaijan 2014 58.41
19 Rwanda 2014 56.57
20 Libya 2014 45.99
21 Eritrea 2013 84.83
22 NorthKorea 2013 81.96
23 Turkmenistan 2013 80.81
24 Syria 2013 77.04
25 China 2013 72.91
26 Vietnam 2013 72.36
27 Sudan 2013 71.88
28 Iran 2013 72.29
29 Somalia 2013 73.19
30 Laos 2013 71.22
31 Djibouti 2013 70.34
32 Cuba 2013 70.92
33 Yemen 2013 67.26
34 EquatorialGuinea 2013 67.95
35 Uzbekistan 2013 61.01
36 SaudiArabia 2013 58.30
37 Bahrain 2013 58.26
38 Azerbaijan 2013 52.87
39 Rwanda 2013 56.57
40 Libya 2013 39.84
目标是可视化每年指数之间的差异,并展示其是否遵循递减或递增趋势。下面是我的尝试。我尝试使用ggplot2进行可视化,但是,正如您所看到的,存在一些问题(即线条似乎是任意的,与真实的指数值无关)。
b = ggplot(pfindex2narrow, aes(x = variable, y = value, group = Origin)) +
geom_line() +
geom_text(aes(label=value, hjust = 0.5), size = 4)
b + facet_wrap(~ Origin, ncol = 2) +
theme(
axis.text.x = element_text(angle = 45, vjust = 0.5, hjust = 0.5),
axis.text.y = element_blank(),
axis.title.x = element_blank(),
axis.title.y = element_blank(),
axis.ticks = element_blank(),
panel.grid.major.y = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.x = element_blank(),
panel.grid.minor.x = element_blank()
)
以下是输出结果:
很遗憾,我已经无法想到如何解决这个问题了,感觉有些困难。也许你有什么好的方法可以尝试一下。
谢谢!
scales = free
或者改变了坐标轴的某些设置? - Axeman