R 从ggplot到df长度的plot字符变量的geom_条

R 从ggplot到df长度的plot字符变量的geom_条,r,ggplot2,R,Ggplot2,我有一个DF a b A 1 B 1 C 1 B 1 B 1 A 1 我正在尝试使用ggplot和DF$a在x轴上和DF$b在y轴上生成条形图。我使用以下方法 p <- ggplot(DF, aes(a,b)) + geom_bar(stat="identity") p您可以创建一个名为order的新变量,它在每一行中都是唯一的,并用它来绘图。然后可以重新标记x轴以匹配原始变量 df$order <- as.factor(1:nrow(df)) gg

我有一个
DF

a   b
A   1
B   1
C   1
B   1
B   1
A   1
我正在尝试使用
ggplot
DF$a
在x轴上和
DF$b
在y轴上生成条形图。我使用以下方法

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

p您可以创建一个名为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)

df$order只需将行名作为x值,就可以避免定义@mhairi mcneill所示的新变量

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

有趣-这在我的机器上运行良好。您可能需要尝试使用
as.factor()
包装
rownames(DF)
。是的,没错,那是我的错误,谢谢您的帮助!:)