自定义 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)
下面的代码
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)