R ggplot - 获取要在直方图中的轴上显示的所有离散 x 值

use*_*440 1 r ggplot2

通过数据框df和列,col_name我使用下面的函数来生成直方图,如下图所示。

myHistogramDensity <- function(df, col_name) {
  p1 <- ggplot(df, aes_string(x=col_name)) + 
    geom_histogram(aes(y=..density..), binwidth=1, colour="black", fill="white")
  p1 <- p1 + scale_y_continuous(labels=percent) 
  p1 <- p1 + annotation_custom(tableGrob(myMinMaxMed(df, col_name), rows = NULL),
                               xmin=10, xmax=13, ymin=0.5, ymax=0.6)
  return (p1)
}
Run Code Online (Sandbox Code Playgroud)

这给了我一个如下所示的直方图。

如何让 x 轴显示 中存在的所有离散值的标签col_name

直方图

Bre*_*ton 6

将以下内容添加到您的函数中(这仅在col_name由整数值组成时才有效...因为您在请求中说了“离散”,我认为这应该有效)

x_axis_labels <- min(df[,col_name]):max(df[,col_name])

p1 <- p1 + scale_x_continuous(labels = x_axis_labels, breaks = x_axis_labels)
Run Code Online (Sandbox Code Playgroud)