我最近成为了双胞胎男孩的父亲。自然,我们需要做很多称重和测量工作,我们会将这些数字记录在电子表格中。我使用 OpenOffice.org Calc(但我也接受 Microsoft Excel/GoogleDocs/AnyOtherSpreadsheet 的解决方案),我想创建一个可视化的图表来解释他们的成长。
- 常规折线图应该可以很好地完成此操作。但是测量不是按固定间隔进行的,前两周是每天测量,但后来是每周测量,并且圣诞节休息了三周。但是当我尝试制作折线图时,每个数据点之间的距离是相同的
如何在电子表格中制作带有日期的折线图,其中 x 轴上每个数据点之间的距离根据每次测量之间的天数是正确的?
2:有三种不同的测量方法。体重(克)、身高(厘米)和头围(厘米)。每个日期都有测量方法,体重总是要测量的。但身高和头围只是偶尔测量。而且正如前面提到的,他们是双胞胎。所以有六种不同的数据流。
有什么建议可以让我如何在一张图表中呈现所有数据,使其看起来很酷,但也易于理解?
3:示例数据:
DATE | 13.oct | 15.oct | 22.oct | 24.oct | 10.nov | 16.dec | 11.jan
Tinus weight | 2360 g | 2165 g | 2250 g | 2305 g | 2930 g | 4295 g | 5170 g
Adiran weight | 2340 g | 2185 g | 2270 g | 2305 g | 3055 g | 4555 g | 5380 g
Tinus height | 45 cm | | 45 cm | 48 cm | | 55 cm | 57 cm
Adrian height | 44 cm | | 44 cm | 48 cm | | 55 cm | 58 cm
Tinus head | 33 cm | | 33 cm | 34 cm | | 38 cm | 38 cm
Adrian head | 33 cm | | 33 cm | 34 cm | | 38 cm | 39 cm
答案1
如何在电子表格中制作带有日期的折线图,其中 x 轴上每个数据点之间的距离根据每次测量之间的天数是正确的?
在 Excel 中:
图表 > 选项 > 轴 > 主轴 (X) > 时间尺度。
答案2
以下是我对如何在 Excel 中执行所需操作的建议:
将所有日期更改为 Excel 可以识别的格式,如“13-oct-09”。确保包含年份,这样 Excel 就不会假定它们都是 2010 年。
从数据单元格中删除单位(“g”和“cm”),以便 Excel 可以将它们视为数字。要么将单位放入每个数据流的标签中,要么将它们放入 Y 轴标签中(稍后会详细介绍)。
如果某个日期的一个数据流包含数据而其他数据流不包含数据,则将值放入没有数据的日期中 - 要么与最后一个值相同,要么是最后一个值和下一个值之间的插值。我不知道还有什么其他方法可以让图表不认为这些是 0 值点。
要创建图表:
选择插入/图表。
选择 XY 散点图类型,以及用曲线连接点的图表子类型。这将使点的 X 间距按您想要的距离缩放,并用平滑的线连接点,以便于查看趋势。
在“源数据”下,选择“系列”选项卡,然后为每个数据流添加一个系列。对于每个系列,名称应指向行的标签(例如“Tinus 体重”),X 值应指向日期行,Y 值应指向该行中的数据(例如,记录的 Tinus 体重值)。选择数据行时,请一直选择到某个较远的列(例如,BZ 列),这样当您输入更多数据时,图表就会知道要扩展。
单击完成。现在您应该有一个包含所有数据的图表,但有一些视觉缺陷。
图表中的体重线看起来应该不错,但所有身高和头部数据都贴在底部,因为厘米数比克数低得多。要解决此问题,请依次右键单击每个下方数据线,选择“设置数据系列格式”,选择“轴”选项卡,然后选择“次轴”。现在,右侧将有一个额外的 Y 轴(表示厘米),厘米线将根据该轴缩放。
依次右键单击六条数据线,选择“设置数据系列格式”,选择“图案”选项卡,然后调整线条和点的颜色、样式和粗细,直到它们看起来都很漂亮。例如,您可能希望让 Tinus 为所有线条使用虚线和正方形,让 Adrian 为所有线条使用点线和圆圈,并让粗细、高度和头部线条各自有自己的颜色。
右键单击图表周围的空白处,选择“图表选项”,然后选择“标题”选项卡。对于“值 (Y)”轴,输入“体重 (g)”。对于“第二个值 (Y)”轴,输入“身高和头围 (cm)”。
现在您应该有一张清晰、易读的图表。
答案3
我想现在你的儿子已经上学了。但如果你仍在记录他们的成长情况(或其他类似问题),我有一个不错的解决方案。这是我根据您的描述和样本数据制作的示例图表。
在这个示例图表中,两条线显示了男孩的体重。柱状图显示了身高和头长。您还可以看到头部与身体的比例。即使您没有定期进行测量,x 轴上的日期也是正确的比例。如果将鼠标悬停在图表上,您还可以查看测量点的信息。
如您所见,Excel 中有一些代码,这是因为我在 Funfun Excel 插件的帮助下制作了这个示例图表。此插件允许您直接在 Excel 中使用 JavaScript,以便您可以利用 HighCharts.js 或 Chart.js 等库轻松制作此类图表。
至于您的数据,您可以按照电子表格中的方式存储它们。但您需要稍微更改一下日期的格式。最好将它们设置为日/月/年或日-月-年,这是因为我使用下面的代码将电子表格中的日期解析为 JavaScript 的日期时间格式。
for(var i=1;i<data[0].length;i++){
date.push(Date.UTC(parseInt(data[0][i].split('.')[2]),parseInt(data[0][i].split('.')[1])-1,parseInt(data[0][i].split('.')[0])))
}
Funfun 还有一个在线编辑器,您可以在其中探索 JavaScript 代码和结果。您可以在下面的链接中查看我如何制作示例图表的详细信息。
https://www.funfun.io/1/#/edit/5a4caabd06791937c4134885
一旦您对在线编辑器中的结果感到满意,您就可以使用上面的 URL 轻松地将结果加载到 Excel 中。但当然,首先,您需要通过“插入 - Office 加载项”将 Funfun 加载项添加到 Excel 中。以下是一些屏幕截图,显示了如何将示例加载到 Excel 中。
我希望这对你仍然有用:)
披露:我是 Funfun 的开发人员
答案4
对于那些正在寻找 Google 电子表格来解决这个问题的人来说(就像我一样):
插入 -> 图表... -> 图表 -> 趋势 -> 时间线 (向下第二条)