geom_histogram不显示x轴上的所有值

时间:2019-07-15 13:22:06

标签: r ggplot2

尝试对某些变量进行简单快速的分析。我运行这段代码:

ggplot(data, aes(var1)) +
    geom_bar()

尽管var1中只有6个可能的值,但仍生成直方图,x轴仅显示2、4、6。是否可以轻松地将所有6个可能的值都包含为标签?

2 个答案:

答案 0 :(得分:1)

您希望具有六个单独数字的频率条形图。但是,您希望在X轴上看到所有这些数字,这使我认为您实际上将它们视为分类数据,而不是数字数据,因此您实际上更希望使用显示所有数据的分类X轴。将x变成因子应该可以解决问题:

data <- data.frame(var1=floor(6*runif(200)  + 1))
ggplot(data, aes(factor(var1))) + geom_bar()

以下:左-没有factor,右-有factor

enter image description here

答案 1 :(得分:0)

您的数据是什么样的?

假设您有一个数字x,则添加scale_x_continuous(breaks = seq(1,6, by = 1))应该可以。

当然,只有在x值从1到6的情况下,此方法才有效。否则,您可以将seq调用替换为包含所需值的向量。