我有一个带有折线图的工作表,现在我想做的事情可能很简单:
我想使用一个单元格中的值向该图表添加一条垂直线。
所以我有这个折线图
还有一个日期为2016/01/01的单元格,我想在单元格日期上的所有图表中使用一条垂直线
我不知道该怎么做...
这是该工作表的副本:https://docs.google.com/spreadsheets/d/1oeiwmeDT8pUVqBQvoE_cqk7mZxxvD5moZr41Vp4IN2I/edit?usp=sharing
我想使用“购买日期”显示一条垂直线
答案 0 :(得分:3)
我遇到了同样的问题,并创建了解决方案来克服Google表格图表的局限性。
主要思想是在图表中创建一条只有两个点的附加线,两个点均具有所需的日期。第一个点的值为0,最后一个点的Y轴值为最大值。这样,线条始终覆盖图表的整个高度。
请注意,有必要在X轴上添加两个新值(在工作表上以蓝色突出显示)。不必担心它们会重复出现。 Google表格可以正确处理它。
这些值可以放在列表的开头。这样,可以在新值的末尾添加新值。
可以在以下位置查看此解决方案:"[GoogleSheets] Dinamic Vertical Line in a Chart"
要更改红线的位置,只需在“购买日期”(黄色单元格)中选择一个不同的值。
我将第一个解决方案与dimo414建议的解决方案进行了合并,并创建了具有两个变体的新解决方案。
在以前版本的电子表格中,绘制垂直线只有两点。
在新版本中,插入了第三个点以显示直线和真实曲线之间的交点。还创建了一个新列,其中仅包含新点的标签。
结果是:
这些变化可以在SpreadSheet的“ Dashboard_v2”和“ Dashboard_v3”工作表中以绿色背景看到。
要确定新点的坐标,使用了两种方法:
如果目标是仅突出显示属于原始数据集的交点,则只需对数据集中的日期进行VLOOKUP()。
给出点[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'的值。
答案 1 :(得分:1)
答案 2 :(得分:0)
据我所知,没有办法在Google表格中向图表添加垂直标记线。在许多情况下,一种可能“足够好”的选项是“ Add notes to a data point”,然后使用“格式化数据点”使该点更加可见。这是您电子表格中的一个示例:
不幸的是,这种方法的局限性是您只能在图表显示的数据集中标记一个数据点。在您的情况下,您想用行标记的日期不在数据集中,因此这将无法直接使用。您也许可以引入一个仅包含该日期的数据系列,然后在那个数据点上添加一个注释,但是我还没有弄清楚它能使它起作用。
答案 3 :(得分:0)
一种方法是在 x 轴上添加标签。
例如,这是一个根据日期绘制权重的图表,在 2021-07-21 上带有“Cheat Day”标签
对于数据:
日期 | 标签 | 重量(公斤) | 体重目标(公斤) |
---|---|---|---|
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 轴 下 > 点击“日期”旁边的••• “ 列 > 添加标签 > 选择列“标签” 作为您的标签。
您的图表编辑器 > 设置应如下所示: