geom_bar绘制DF长度

问题描述:

的字符变量我有一个DFgeom_bar绘制DF长度

a b 
A 1 
B 1 
C 1 
B 1 
B 1 
A 1 

我试图产生条形图与ggplotDF$a在x轴和DF$b在y轴上。我用下面的

p <- ggplot(DF, aes(a,b)) + geom_bar(stat="identity") 

但现在看来,从DF$a只有ggplot地块特有的字母,而我想绘制所有这些的。我该怎么做?谢谢你的帮助。

您可以创建一个名为order的新变量,该变量在每一行中都是唯一的,并用它来绘图。然后,您可以重新标记x轴以匹配原始变量。

df$order <- as.factor(1:nrow(df)) 

ggplot(df, aes(x = order, y = b)) + 
    geom_bar(stat = 'identity') + 
    scale_x_discrete(breaks = df$order, labels = df$a) 

你可能避免定义一个新的变量如图@ mhairi - 麦克尼尔仅通过拉动rownames断为您的x值

ggplot(DF, aes(x = rownames(DF),y = b)) + 
    geom_bar(stat="identity") + 
    scale_x_discrete(labels = DF$a) 
+0

谢谢你,其实我试过,但没得到运气。 – HoHoHo

+0

有趣 - 这在我的机器上正常工作。你可能需要尝试使用'as.factor()'来包装'rownames(DF)'...... – joemienko

+0

是的,确切地说,那是我的错误,谢谢你的帮助! :) – HoHoHo