自定义 x 轴刻度以在直方图中显示范围?

Customize x-axis ticks to display range in a histogram?

下面的代码

library("ggplot2")
library("datasets")
data(iris)

iris.hist <- ggplot(iris, aes(x = Sepal.Length)) +
                      geom_histogram(data = subset(iris, Species == "setosa"), bins = 5, fill = "black", color = "black") +
                      geom_histogram(data = subset(iris, Species == "versicolor"), bins = 5, fill = "white", color = "black")


iris.hist

生成图

如您所见,x 轴显示数据范围内整数的刻度,但这些刻度不一定能很好地反映此直方图中每个 bin 中包含的真实数据范围。

有什么方法可以修改此脚本以允许 x 轴显示每个 bin 的实际范围?

我想你想要 breaks 而不是 bins:

mybreaks <- c(3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5)

ggplot(iris, aes(x = Sepal.Length)) +
  geom_histogram(data = subset(iris, Species == "setosa"), 
                 breaks = mybreaks, fill = "black", color = "black") +
  geom_histogram(data = subset(iris, Species == "versicolor"), 
                 breaks = mybreaks, fill = "white", color = "black") +
  scale_x_continuous(breaks = mybreaks)