如何在Excel中绘制布尔值随时间变化的频率图?

8
我有三列excel数据想要绘制图表:名称,时间值和布尔值(TRUE或FALSE)。基本上,我想在X轴上显示时间,在Y轴上显示TRUE和FALSE的计数或频率。
最好的方法是什么?哪种图表类型最能代表这个数据?
我大约有900个数据点。堆积面积图可能是展示T v. F随时间变化频率的最佳方式吗?

取决于你想要什么。你想要可视化每个的累积频率吗?相对于迄今为止的总频率的百分比?无论哪种方式,你都需要进行一些处理,即在每个时间步骤计算T和F的总数。或者你是在寻找差分直方图吗? - Jean-François Corbett
@Jean-Francois Corbett:抱歉我表达不清楚,我想要的是再次将时间放在X轴上,而将给定时间段内的%True放在Y轴上。考虑到这一点,我想只需要一个线性图就足够了。现在我的问题变成了如何处理数据并计算%True。由于我的时间数据没有规律排列,有什么好的方法可以计算给定时间段的%True呢? - Tony
3个回答

4
您现有的数据是以所谓的“时间-历史”格式排列的,其中您在特定时间采取离散数据点。
您想要显示数据的方式称为“时间-水平”。 这种显示类型用于显示落在该事件特定定义范围内的事件发生次数。 通常,这将用于具有随时间变化值的数据集。 您的情况有点独特,因为随时间变化的值实际上是“时间”。
因此,回答您的一个问题,堆积面积图将是显示结果的不错方式,或者分组柱形图也可以使用。
为了将您的时间-历史数据转换为时间-水平数据,您需要通过数据,可能在vba宏中进行处理。 如果您的时间数据点以规律间隔发生,则可以在Excel中将数据分成规则组,并对每个组使用COUNTIF函数。
在您的情况下,您需要循环遍历每行数据,确定其是否为真或假,并增加正确bin的计数器。
如果您知道要将时间数据分成的bin数,则可以计算bin大小:
BinSize =(最大时间值-最小时间值)/ bin数
然后,您可以设置包含每个bin中可能出现的最大时间值的数组或列表:
Bin 1:maxvalue = Binsize
Bin 2:maxvalue = Binsize * 2

Bin n:maxvalue = Binsize * n
实际上,您将需要两个数组/列表。 一个用于真值,一个用于假值。
此时,您可以循环遍历数据的每一行。 您检查时间值并确定它属于哪个bin,然后查看它是否对应于TRUE或FALSE,并增加与该bin相关联的适当计数器。
然后,您将拥有在规则间隔内发生的所有TRUE和所有FALSE的计数,并且您可以以时间-水平格式重新显示数据,并按任何想要的方式绘制图表。

1

我没有清楚地理解你的问题,但我认为以下几点可以解决你的问题。

  1. 如果你想显示日期对应的“真”和“假”的百分比,那么你可以在柱状图中展示。其中X轴是日期/时间,单个柱子会有不同的颜色来表示“真”和“假”的百分比。所有柱子的高度都相同,但“真”和“假”的百分比不同。

  2. 如果你想在图表中只显示“真”的百分比,而你的日期不是固定间隔的,那么你需要为一些日期制定范围,并计算出所选范围内的“真”的百分比。例如,你选择了一周的范围,在那一周内你有3个值,分别是70%、60%和50%,那么平均“真”的百分比就是(70+60+50)/3=60%。因此,在你的图表中,你将在考虑的那一周有一个60%的点,比如说它是你范围内的第三周。所以你在图表上的点就是(3,60)。

如果我理解错了,请告诉我。如果有帮助,请标记为答案 :)


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接