在R中堆叠条形图

时间:2017-10-28 21:19:26

标签: r data-visualization

我试图在R studio中使用ggplot堆积条形图!以下是我要插入的数据:

Country      Con       Lab
England  14364350   11389497
NI           3895          0
Scotland   757949     717007
Wales      528839      71354

我是R Studio的初学者,所以如果这个问题很乏味,我很抱歉!理想情况下,如果你可以帮我把它叠加到第二个有用的派对上! (实验室与威尔士分开第二)

有点像下面的东西将是fab!我正在努力学习如何开始,但希望图片显示堆叠图形的样子(手指交叉)

我迄今为止所做的事情:

library('ggplot2')
ggplot(elections, aes(x= Country, y= ?? (this is where I hit a wall)

数据

elections <- read.table(header = TRUE, stringsAsFactors = FALSE,
                        text = "Country       Con        Lab
                                England  14364350   11389497
                                NI           3895          0
                                Scotland   757949     717007
                                Wales      528839      71354")

1 个答案:

答案 0 :(得分:2)

您的表格格式错误,需要在ggplot中处理。如果您的数据目前记录在三列国家/地区,人工,保守中,则需要采用国家/地区,派对,投票数格式。要了解有关这些要求的更多信息,您可以在此处阅读有关整洁数据的信息:http://vita.had.co.nz/papers/tidy-data.html

以下代码有效。函数 melt 已用于将数据转换为所需的格式。

library(ggplot2)
library(reshape2)

elections <- data.frame(Country = c("England", "NI", "Scotland", "Wales"), Con = c(14364350, 3895, 757949, 528839), Lab = c(11389497, 0, 717007, 71354))

elections_long <- melt(elections, id = "Country")

ggplot(elections_long, aes(x = Country, y = value)) +
  geom_bar(stat="identity", aes(fill = variable))

输出图可以在这里看到:

希望有所帮助。