5

我有一张带有折线图的工作表,现在我正在尝试做一些可能非常简单的事情:
我想使用单元格中的值向该图表添加一条垂直线。

所以我有这个折线图 和一个日期为 2016/01/01 的单元格,我想在单元格日期的所有图表中都有一条垂直线在此处输入图像描述

我不知道该怎么做...

这是该表的副本:https ://docs.google.com/spreadsheets/d/1oeiwmeDT8pUVqBQvoE_cqk7mZxxvD5moZr41Vp4IN2I/edit?usp=sharing

我想使用“购买日期”显示一条垂直线

4

4 回答 4

8

我遇到了同样的问题,并创建了一个解决方案来克服 Google 表格图表的限制。

主要思想是在图表中创建一条额外的线,只有两个点,都带有所需的日期。第一个点的值为 0,最后一个点具有 Y 轴的最大值。这样,线条始终覆盖图表的整个高度。

图表截图

请注意,有必要在 X 轴上添加两个新值(在工作表上以蓝色突出显示)。不要担心它们重复的事实。谷歌表格正确处理它。

这些值可以放在列表的开头。这样,可以在它们的末尾添加新值。

此解决方案可以在: “[GoogleSheets] 图表中的动态垂直线”中查看

要更改红线的位置,只需在“购买日期”(黄色单元格)中选择不同的值。


我将我的第一个解决方案与dimo414建议的解决方案合并,并创建了一个具有两种变体的新解决方案。

在以前版本的电子表格中,只有两个点可以绘制垂直线。

在新版本中,插入了第三个点以显示直线和实际曲线之间的交点。还创建了一个新列,其中仅包含新点的标签。

结果是:

Graph_v3

这些更改可以在SpreadSheet的“Dashboard_v2”和“Dashboard_v3”表的绿色背景中看到。

为了确定新点的坐标,使用了两种方法:

  1. 直接在数据集中搜索购买日期(参见工作表“Dashboard_v2”)

如果目标是仅突出属于原始数据集的交点,则只需 VLOOKUP() 数据集中的日期。

  1. 插入比购买日期更小和更大的两个点(参见表'Dashboard_v3')

给定点 [x1,y1]、[x2,y2] 和 x 的值(其中 x1 <= x <= x2),可以使用以下公式找到插值点 [x,y]:

y=(y2-y1)*(x-x1)/(x2-x1)+y1

虽然这个公式很容易实现,但找到正确的插值点更具挑战性,需要一点创造力。

起初,我想使用 JS 脚本来让事情变得更简单,但决定只使用内置函数。

顺便说一句,欢迎使用不同的方法来查找 [x1,y1] 和 [x2,y2]。

为了让事情更容易理解,每个点坐标都在不同的单元格中确定(参见 L2:M5),交点在 L6:M7 中。

当然,可以将它们全部加入一个单元格,但我认为这会更难理解。

最后,更详细的说明:根据上述定义,插值公式仅在 (x1 <= x <= x2) 时有效。因此,单元格 C2 和 M6 都具有限制“x”值的保护。

于 2020-05-14T23:31:44.727 回答
2

一种方法是在 x 轴上添加标签。

例如,这是一个根据日期绘制体重的图表,标签为“作弊日”,日期为 2021-07-21

日期权重图表

对于数据:

日期 标签 重量(公斤) 体重目标(公斤)
2021-07-19 83.85 75
2021-07-20 84.55 75
2021-07-21 愚人节 83.8 75
2021-07-22 84.95 75
2021-07-23 83.75 75

转到编辑图表>设置> 在X 轴下 > 单击“日期”列旁边的 ••• >添加标签> 选择“标签”列作为标签。

您的图表编辑器>设置应如下所示:

X 轴标签

于 2021-07-23T11:57:10.830 回答
2

0

你可以像这样拥有它,不幸的是不是以编程方式。唯一的方法是通过绘图插入一条线并在需要的地方手动定位。

电子表格演示

于 2019-09-20T23:57:52.497 回答
1

据我所知,没有办法在 Google 表格中的图表中添加垂直标记线。在许多情况下可能“足够好”的一个选项是“将注释添加到数据点”,然后使用“格式化数据点”使该点更加明显。这是您的电子表格中的一个示例:

带有标记数据点的示例图表

不幸的是,这种方法的一个限制是您只能在图表显示的数据集中标记数据点。在您的情况下,您想用线条标记的日期不在数据集中,因此这不会直接起作用。您也许可以引入一个仅包含该日期的单独数据系列,然后向该数据点添加一个注释,但我还没有对其进行足够的修改以使其正常工作。

于 2020-08-20T16:59:08.183 回答