如何在 Excel 中叠加两个直方图?

All*_*ure 15 charts microsoft-excel

我的原始数据的前几行如下所示:

0    -4.05291
0    -2.75743
0    -0.374328
1    -23.829
1    -21.5973
1    -21.0714
Run Code Online (Sandbox Code Playgroud)

我想分别用 0 和 1 绘制数据点作为直方图。这并不难做到:插入 -> 图表 -> 插入统计图表并选择相关数据,我就完成了。图表是:

在此处输入图片说明在此处输入图片说明

橙色图对应于第一个分布(索引为 0),蓝色图对应于第二个分布(索引为 1)。问题:我想将两者合并到一个带有两个不同颜色条形的图表中。但是我不知道该怎么做。显而易见的方法是右键单击-> 选择数据-> 将两个数据系列添加到图表中,但直方图仍然只显示一组数据。数据肯定存在 - 如果我更改图表类型,其他系列会显示 - 但它不会显示在直方图中。

如何使用 Excel 执行此操作?如果 Excel 无法做到这一点:什么程序能够做到这一点?如果重要的话,我使用的是 Excel 2016。

小智 6

另一种选择是使用Analysis Toolpak的 Histogram 选项。

  1. 确保工具库已启用(如果没有,请转到文件|选项|加载项)
  2. 将您的数据拆分成列(一列代表“0”分,一列代表“1”分)
  3. 在另一列中创建垃圾箱(Excel 会自动执行此操作,但您需要确保两个系列具有相同的垃圾箱)
  4. 转到数据|数据分析|直方图
  5. 选择您的“0”点和垃圾箱,然后将输出放在“新工作表层”上
  6. 重复“1”
  7. 合并这两个表并绘制结果

输入数据 输出图表


小智 5

显然(在 Excel 2016 中),多个系列似乎无法使用直方图。

但是,您可以使用条形图获得相同的结果。它需要更多的工作,但它很容易做到!这是我所做的。

  1. 创建一个“类别”表(橙色),将值放入不同的范围。
  2. 确保第一列是唯一 ID。
  3. Max 和 Min 列可以手动填充,也可以使用公式自动填充。只需确保有 -9999 和 +9999(或任何其他大值)作为“最低最小值”和“最高最大值”。
  4. 在您的数据表中,添加以下公式(假设橙色表名为 Category):

    =VLOOKUP(SUMPRODUCT(([@Value]>=Category[Min])*([@Value]<Category[Max])*(Category[Category ID])),Category,4)
    
    Run Code Online (Sandbox Code Playgroud)
  5. 插入数据透视表(值:行数)和数据透视图,如下所示:

枢轴结构

  • 哇 Excel 比我想象的要复杂得多。按照这个速度,我不妨开始编写一个 Python 程序来绘制这个...... (2认同)

Mic*_*han 0

你非常接近你的答案。您唯一要做的就是选择第二个图表中的系列(单击图表,然后单击条形图并确保选择所有条形图(参见图 1)。按 Ctrl+C,然后单击第一个图表并单击按 Ctrl+V。我对随机数据做了同样的操作,我发现了这个(见图 2):

选定的酒吧

最终结果

红色条是通过复制和粘贴添加的。

  • 事实上,你不能只选择一个系列并复制它。复制一个系列实际上会复制图表中的所有系列,然后粘贴将所有数据粘贴到第二个图表中。在这种情况下,它可以工作,因为复制的图表只有一个系列。该死,那真是太酷了。 (2认同)