按ggplot

时间:2018-02-26 14:49:20

标签: r ggplot2

有人建议这是重复的 ggplot2 geom_bar ... how to keep order of data.frame

不同之处在于,我的分类变量中的帖子实际上是数字作为该帖子使用字符串的因素。当我使用该解决方案时,我的数字仍然不按数字顺序绘制。

我运行了一个GLM模型,其数字实际上是作为因素引入的。它们是以这种方式引入的,因为前四个数字实际上是一个类的虚拟变量,其余的是实际数字。我想按照数字顺序绘制这些因素。有没有办法做到这一点?可以使用以下代码生成问题:

library(ggplot2)

x <- c("1", "2", "3", "4", "100", "250", "350", "450")
y<- (1:8)
df <- data.frame(x, y)

ggplot(df, aes(x = x, y = y)) +
  geom_bar(stat = "identity")

我看过以下帖子: Keeping order for ggplot bar chart in R

Variables order for ggplot

Data frame variable order for ggplot

1 个答案:

答案 0 :(得分:5)

您可以使用reorder()

ggplot(df, aes(x = reorder(x, sort(as.numeric(x))), y = y)) +
  geom_bar(stat = "identity")

output