用ggplot制作条形图,但不显示条形图

时间:2020-02-11 17:53:22

标签: r ggplot2 bar-chart

我有一个这样的数据集

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。

出什么问题了? 谢谢!

1 个答案:

答案 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..))

example ggplot

编辑:根据您的评论,可能需要在绘图之前处理数据(例如,使用aggregatetidyverse包)。但是,如果您要根据需要在单个栏中快速绘制x1x2x3的计数,则请对数据进行子集化,并为x包含单个字符串或数字美观,例如:

ggplot(df1[df1$V %in% c("x1", "x2", "x3"),], aes(x = "Single")) + 
  geom_bar(stat = "count")

再次,我对您要寻找的内容有些困惑。我希望这会有所帮助。