ggplot不按组颜色直方图

时间:2017-03-19 12:35:17

标签: r ggplot2 histogram

我正在学习R,我正在尝试创建一个复合直方图,其中包含三组的直方图,由数据框中“cluster”列的值定义。

数据如下所示:

-t

我使用的代码如下:

  TOTAL_Estimated_Collateral_value_sum cluster
1                           -0.17499342       1
2                           -0.86443362       1
3                            0.22211949       2
4                            0.01007717       1
5                           -0.77617685       2
6                           -1.43518056       1
7                           -0.19705983       1
8                           -0.39170108       1
9                           -0.94073376       1
10                           1.20525601       2

 TOTAL_Estimated_Collateral_value_sum    cluster     
 Min.   :-1.7697                      Min.   :1.000  
 1st Qu.:-0.7626                      1st Qu.:1.000  
 Median :-0.1322                      Median :1.000  
 Mean   : 0.0000                      Mean   :1.329  
 3rd Qu.: 0.8459                      3rd Qu.:2.000  
 Max.   : 1.8782                      Max.   :3.000  
> table(df_all$cluster)

    1     2     3 
24342  8565  1350

我得到的图像如下:

histogram

正如您所看到的,观察结果并没有像我期望的那样以群集的价值着色。

您能否向我解释为什么会出现这种情况以及我应该如何修复我的代码并获得预期的输出?

1 个答案:

答案 0 :(得分:4)

您需要将cluster映射到fill,而不是color,而cluster必须是一个因素,如果它还没有。所以试试:

ggplot(df_all, aes(x=TOTAL_Estimated_Collateral_value_sum, fill=cluster)) +
  geom_histogram(alpha = 0.7, position="dodge")

或者,如果cluster不是因素:

ggplot(df_all, aes(x=TOTAL_Estimated_Collateral_value_sum, fill=as.factor(cluster))) +
  geom_histogram(alpha = 0.7, position="dodge")