0

我有不同长度的数据数组,其x值(年)是有限年数的一部分,例如:

var data = [{Year: 2008, Value: 5}, {Year: 2009, Value: 6}]

或者

var data = [{Year: 2007, Value: 8}, {Year: 2009, Value: 10}, {Year: 2010, Value: 11}]

现在,如果我从具有更多值的数据集转换到具有更少值的数据集,则 (2007, 8) 点会被插值到 (2008, 5),它看起来很奇怪。我想要的是按键插值(在这种情况下是年份)。

通过以下教程,我非常简单地理解了如何使用条形图进行操作,该教程只是将一个键函数传递给selection.data,以便通过键而不是索引进行绑定。

但是,对于一条线,您似乎无法传递一个关键函数,因为您传递的数据必须是一个数组数组(基准是一个点数组)。

当您使用折线图时,如何获得类似的结果?

4

1 回答 1

2

这取决于您使用的线路发生器。简而言之,没有简单的方法可以做到这一点。这里有几个选项。

  • 调整图表的比例。这将使过渡看起来不那么奇怪。
  • 将您的线路分成几个部分。这样,您可以删除其中一个段而不影响其他段。根据您使用的插值等,这可能不起作用。
  • 添加虚拟元素以填充数据数组以始终保持相同的长度。根据您的应用程序可能不适合,因为仍然会为虚拟元素绘制部分线。

这完全取决于您的应用程序哪个选项最合适(或者可能有另一个选项)。我可能会先尝试第一个,因为它很容易实现。

于 2013-09-26T17:36:28.300 回答