我试图使用ggplot2制作条形图 - 但是有问题。
基本上,我想生成一个水平条形图,其中包含:
Y轴上的地理位置;
沿x轴的人口数。
但是,我有一个具有以下结构的数据框:
data.frame(Park = c("Northumberland","South Downs","Dartmoor"),
count = c(22.5,24.4,26.0))
正如预期的那样,人口数量直接绘制在x轴上,而我希望它在y轴上绘制。
有什么想法吗?
对不起,这是一个简单的问题。
答案 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()