R - 命名数字向量和ggplot2条形图

时间:2017-09-20 15:09:36

标签: r plot ggplot2

我试图使用ggplot2制作条形图 - 但是有问题。

基本上,我想生成一个水平条形图,其中包含:

  • Y轴上的地理位置;

  • 沿x轴的人口数。

但是,我有一个具有以下结构的数据框:

       data.frame(Park = c("Northumberland","South Downs","Dartmoor"), 
       count = c(22.5,24.4,26.0))

正如预期的那样,人口数量直接绘制在x轴上,而我希望它在y轴上绘制。

有什么想法吗?

对不起,这是一个简单的问题。

enter image description here

2 个答案:

答案 0 :(得分:1)

coord_flip交换x轴和y轴。

library(ggplot2)
dat <- data.frame(Park = c("Northumberland","South Downs","Dartmoor"), 
                  count = c(22.5,24.4,26.0))

ggplot(dat, aes(x=Park, weight=count)) + geom_bar() + coord_flip()

答案 1 :(得分:0)

您可以使用geom_col

df = data.frame(Park = c("Northumberland","South Downs","Dartmoor"), 
           count = c(22.5,24.4,26.0))

library(ggplot2)
ggplot(df, aes(x = Park, y = count)) +
  geom_col()

要使用geom_bar,您需要指定stat = "identity"才能提供y变量:

library(ggplot2)
ggplot(df, aes(x = Park, y = count)) +
  geom_bar(stat = "identity") +
  coord_flip()