我有一个这样的数据集
df1
Ch V
A x1
B x1
C x2
D x3
E x2
..
我想用条形图绘制V的显示次数(在y轴上),而V的值显示在x轴上 我尝试过了
df2 <- table(df$V)
df2
V1 Freq
x1 3
x2 4
..
(此示例中Freq的数字是随机的) 并收到一张要绘制的表格,而我使用ggplot2绘制的代码是
ggplot(df2, aes(x=V1, y=Freq)) +
geom_bar(stat = 'identity')
虽然没有显示这些条,但它没有显示我。 我确保df的值都是数字a。
出什么问题了? 谢谢!
答案 0 :(得分:2)
@antonina-这是基于您的帖子的示例-您可以复制此情节吗?
library(ggplot2)
df1 <- data.frame(
Ch = c("A", "B", "C", "D", "E"),
V = c("x1", "x1", "x2", "x3", "x2")
)
ggplot(df1, aes(x=V)) +
geom_bar(stat = "count")
(或)
ggplot(df1, aes(x=V)) +
geom_bar(aes(y = ..count..))
编辑:根据您的评论,可能需要在绘图之前处理数据(例如,使用aggregate
或tidyverse
包)。但是,如果您要根据需要在单个栏中快速绘制x1
,x2
和x3
的计数,则请对数据进行子集化,并为x包含单个字符串或数字美观,例如:
ggplot(df1[df1$V %in% c("x1", "x2", "x3"),], aes(x = "Single")) +
geom_bar(stat = "count")
再次,我对您要寻找的内容有些困惑。我希望这会有所帮助。