使用 ggplot2 在 R 上分组条形图
Grouped bar chart on R using ggplot2
如何使用 ggplot2
使用此数据在 R 上创建分组条形图?
Person Cats Dogs
Mr. A 3 1
Mr. B 4 2
以便显示每个人拥有的宠物数量,使用此布局Bar chart of pets
我有一个包含此数据的文本文件,并已使用 read.delim
在 R 上读取该文件。
我使用了这段代码,但它没有生成我正在寻找的条形图。
ggplot(data=pets, aes(x=Person, y=Cats, fill=Dogs)) + geom_bar(stat="identity", position=position_dodge())
我是 R 的新手,如有任何帮助,我们将不胜感激。
提前致谢。
要为分组条形图准备数据,请使用 reshape2
包
的 melt()
函数
我。正在加载所需的包
library(reshape2)
library(ggplot2)
二.创建数据框 df
df <- data.frame(Person = c("Mr.A","Mr.B"), Cats = c(3,4), Dogs = c(1,2))
df
# Person Cats Dogs
# 1 Mr.A 3 1
# 2 Mr.B 4 2
三。使用 melt
函数
熔化数据
data.m <- melt(df, id.vars='Person')
data.m
# Person variable value
# 1 Mr.A Cats 3
# 2 Mr.B Cats 4
# 3 Mr.A Dogs 1
# 4 Mr.B Dogs 2
四.按 Person
分组的条形图
ggplot(data.m, aes(Person, value)) + geom_bar(aes(fill = variable),
width = 0.4, position = position_dodge(width=0.5), stat="identity") +
theme(legend.position="top", legend.title =
element_blank(),axis.title.x=element_blank(),
axis.title.y=element_blank())
图例在顶部,图例标题已删除,轴标题已删除,调整了条形宽度和条形之间 space。
如何使用 ggplot2
使用此数据在 R 上创建分组条形图?
Person Cats Dogs
Mr. A 3 1
Mr. B 4 2
以便显示每个人拥有的宠物数量,使用此布局Bar chart of pets
我有一个包含此数据的文本文件,并已使用 read.delim
在 R 上读取该文件。
我使用了这段代码,但它没有生成我正在寻找的条形图。
ggplot(data=pets, aes(x=Person, y=Cats, fill=Dogs)) + geom_bar(stat="identity", position=position_dodge())
我是 R 的新手,如有任何帮助,我们将不胜感激。
提前致谢。
要为分组条形图准备数据,请使用 reshape2
包
melt()
函数
我。正在加载所需的包
library(reshape2)
library(ggplot2)
二.创建数据框 df
df <- data.frame(Person = c("Mr.A","Mr.B"), Cats = c(3,4), Dogs = c(1,2))
df
# Person Cats Dogs
# 1 Mr.A 3 1
# 2 Mr.B 4 2
三。使用 melt
函数
data.m <- melt(df, id.vars='Person')
data.m
# Person variable value
# 1 Mr.A Cats 3
# 2 Mr.B Cats 4
# 3 Mr.A Dogs 1
# 4 Mr.B Dogs 2
四.按 Person
ggplot(data.m, aes(Person, value)) + geom_bar(aes(fill = variable),
width = 0.4, position = position_dodge(width=0.5), stat="identity") +
theme(legend.position="top", legend.title =
element_blank(),axis.title.x=element_blank(),
axis.title.y=element_blank())
图例在顶部,图例标题已删除,轴标题已删除,调整了条形宽度和条形之间 space。