我正在尝试制作事件散点图,其中一个轴上表示星期几,另一个轴上表示一天中的时间,并将数据绘制为每个日期+时间事件的点。
我想要获得的是“事情发生的时间”+天数的分布,但是没有任何内容可以绘制出发生了什么事情或者发生了多少事情。
理想情况下,我还会在第三轴上按月或年进行绘图,例如按颜色,但这只是为了好用而已。
--------8<-------------------------- 回答下面的问题...第二次尝试,因为第一次失败了 :-(
我使用 ls --time-style=+"..." 选项,因此可以很好地控制数据。这是数据图像和基本散点图。尝试重新构建图表最终会得到空白。有 40k 行数据,尝试处理所有数据也似乎挂起了(!)。
答案1
为此,您需要一个散点图(XY 图)。X 轴需要作为数值处理,否则它会将它们视为类别,其中值只是标签,每个连续值都堆叠在一起。下面是一个例子,我将解释我是如何做到的:
天值是数字。您可以通过将 WEEKDAY 函数应用于日期(1=周日至 7=周六)来获取它们。这些需要存储为数字,但如果您希望它们可读为天数,请使用自定义日期格式对其进行格式化ddd
,我对最后七个值就是这么做的。
每年都是一个单独的数据系列,因此您需要对数据进行预先排序,看起来您已经这样做了。通过选择第一年的数据(日、时间、年)来开始绘制图表,这将为您提供第一个系列。对于系列名称,请选择年列中的一个单元格。验证 X 轴范围是否指向日列范围,Y 轴范围是否指向时间列。
+
对于每个额外的年份,使用底部的按钮添加一个系列并重复该过程以指定数据范围。
X 轴的自动设置将从 开始0
并结束于8
,这很好。这样可以将您的数据保留在图表内部。看起来 LO Calc 不会格式化散点图中 X 轴的数字。我所做的是添加 X 轴标题。对于标题文本,我输入了星期名称并在它们之间留有空格,然后调整了空格,使名称与轴刻度对齐。然后我格式化了轴以不显示轴标签。
这就是让图表按要求显示的方法,但 40,000 个数据点是另一个问题。假设您的计算机有足够的资源来处理它,这将需要一些时间。即使有足够的 RAM,您的计算机也可能会很忙并被锁定几分钟。如果它没有大量的 RAM,这个过程可能会变得非常冗长,将数据块交换到磁盘,甚至到了“永远”交换的地步。您可能需要将数据分成子组并分别绘制它们,或者只绘制数据样本(随机样本或每个第 N 个点),或者结合使用多种方法。即使是 10% 的数据(4,000 个点)对于一个图表来说也是很多数据,但您可以试验一下您的系统可以处理多少数据。