通过数据框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?
将以下内容添加到您的函数中(这仅在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)