2017-09-20 36 views
-1

我試圖用ggplot2生成條形圖 - 但有問題。R - 命名的數字向量和ggplot2條形圖

從本質上講,我想生成一個horiztonal條形圖,具有:

  • 在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

如果您分享了您嘗試過的不起作用的ggplot代碼,它將會有所幫助。 (在你的問題,而不是在評論。) – joran

回答

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() 
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() 
+0

嗨,我已經添加一張照片以清晰。可以肯定的是,我希望x軸是一個通用比例尺,y軸是地理位置的值,但是刻度線表示位置的名稱。 – Pryore