简要说明:如果我创建一个自定义的 LineSeries 类并将其添加到我的项目中,即使它与原始类相同,我也会失去数据提示功能。
详细描述: 我正在使用 LineChart 组件,我需要渲染我的线条,以便它们根据某些值范围改变颜色。所以我修改了 LineRenderer,将它应用到我的 LineSeries 上,一切都很好。不幸的是,我后来意识到我需要动态提供范围和颜色,因为它们应该是可定制的。这就是棘手的地方。
这是我用来设置 lineRenderer 的代码:
var cf:ClassFactory = new ClassFactory(myLineRenderer);
lineSeries.setStyle("lineSegmentRenderer",cf);
我没有找到一种方法来动态更改 ClassFactory 上的数据而不创建它的实例。但是,如果我创建它的一个实例,我就不能将它设置为一种样式。如果有人知道这样做的方法,它将直接解决我的问题。我只需要在 myLineRenderer 中设置一个数组属性。但对我来说,为什么不能这样做是有道理的。 我可以动态创建一个新的类,它是 myLineRederer 的克隆但一个属性已更改? 我可以向 myLineRenderer 构造函数添加参数吗?如果是这样,这将如何与上面的代码一起使用?
无论如何,由于这不起作用,我想我需要更改提供给 myLineRenderer 的数据。为此,我创建了自己的 LineSeries,它有一个可设置的 Array 属性,它添加到传递给 myLineRenderer 的数据中。而且效果很好。有一点点纠结。一旦我将 LineChart 系列从 LineSeries 更改为 myLineSeries,我就无法沿线移动鼠标光标并获取图表中每个项目的信息。我删除了对原始 LineSeries 所做的所有更改,但没有任何区别。我错过了什么?
现在我被困在没有数据提示的可定制颜色范围和带有数据提示的不可定制颜色范围之间。前者仍然更好,但我真的需要两者都工作,或者至少知道为什么这是不可能的。
任何帮助将非常感激。