【发布时间】:2019-12-23 12:52:47
【问题描述】:
假设我有如下数据框:
df <- data.frame(x = runif(100))
df$x2 = df$x*100
cut = quantile(df$x2, 0.75)
df$label = ifelse(df$x2>cut, 1, 0)
x x2 label
1 0.1431888 14.31888 0
2 0.9131599 91.31599 1
3 0.5659831 56.59831 0
4 0.8358059 83.58059 1
5 0.3125397 31.25397 0
6 0.8823542 88.23542 1
任务是:
首先,显示x的直方图,可以使用geom_histogram()来完成
其次,在每个 bin 中,我想通过该 bin 中 label 等于 1 的分数为 bin 着色。
我对如何实现它感到困惑。因为我需要知道这个bin中1的个数和这个bin中point的个数,这对我来说很难做到(binwidth不是固定的)。由于我在网站上搜索,但只发现geom_histogram() 的颜色由x 改变,例如在这个link 中。
我想要的输出结果是这样的:
:
图片由以下代码生成:
ggplot(df, aes(x = x, fill = ..x..)) + geom_histogram()
但在此示例中,颜色取决于每个 bin 中的x。但是,我希望颜色取决于每个 bin 中标签的分数等于 1(第三列)。
【问题讨论】:
-
请出示您的
ggplot2代码示例,并可能提供当前和预期的地块示例。 -
我在 Add 中添加了预期的绘图和示例代码