Highcharts 在散点图中为多个单独标记着色的更好方法?

Highcharts 在散点图中为多个单独标记着色的更好方法?,highcharts,Highcharts,朋友们, 我的目的是创建一个交互式图表,表示同位素表的一部分,您可以在这里看到,例如: 所以:我有一个2-d图,有大约400个点。我想在绘制点之后,根据我为每个点包含的一段元数据的值对点进行颜色编码。例如,我可能有十个红色阴影,并根据点的元数据值的位置进行设置 作为测试,我尝试将它们全部涂成红色,只是为了正确地调用函数 这是我的问题:我已经找到了如何使用以下代码(放置在图表加载事件中)执行此操作的方法: for(var i=0;i

朋友们,
我的目的是创建一个交互式图表,表示同位素表的一部分,您可以在这里看到,例如:

所以:我有一个2-d图,有大约400个点。我想在绘制点之后,根据我为每个点包含的一段元数据的值对点进行颜色编码。例如,我可能有十个红色阴影,并根据点的元数据值的位置进行设置

作为测试,我尝试将它们全部涂成红色,只是为了正确地调用函数

这是我的问题:我已经找到了如何使用以下代码(放置在图表加载事件中)执行此操作的方法:

for(var i=0;i
但是我发现使用series.points.update()非常慢

我尝试直接访问marker属性。我想首先从API可以编写: 系列[i]。数据[j]。标记。填充颜色=“#FF0000”

或者,根据我在highcharts-more.js中找到的一些代码判断: 系列[i].数据[j].标记选项.fillColor=“#FF0000”

但我现在看到API在“初始配置选项”下列出了对标记的直接调用,而在“方法和属性”下没有直接调用

那么我的问题是:在绘制图表之后,有没有一种快速的方法来设置数百个点的标记颜色?或者在绘制图表之前,我是否可以更快地更改标记颜色

值得一提的是,我的代码在这里:
很长,但相关部分在第5-14行中


谢谢!

这与每次调用update()都会重画图表有关。最好禁用重画(false参数)


我会直接在数据对象中为每个点指定颜色,而不是在渲染后进行更新

可以发送可以在“绘图选项”中指定为点对象参数的任何内容,例如:

data:[{x:0,y:10,marker:{fillColor:'rgba(255,0,0,.5)'}},{x:10,y:25,marker:{fillColor:'rgba(255,0,0,.75)'}},{x:25,y:30,marker:{fillColor:'rgba(255,0,0,.25)'}}]

等等。

而且,我可能会补充说,如果有人对如何更容易完成这个项目有任何有用的想法,请走开!例如,我想到将它们绘制为堆叠的列范围,而不是散点图。这是我第一次使用highcharts(我不是程序员)所以你的批评很有帮助!为什么不为你的series.data数组中的每个条目设置color属性?嗨,cfs:我很难让散点图在不使用标记及其颜色的情况下工作。当我禁用带有散点图的标记时,点不会渲染,因此更改其颜色也没有帮助。奇怪,不是吗?是的,是的标记就是点,因此,如果禁用散点图的标记,基本上就是禁用散点图。但不需要禁用标记来为标记单独着色,只需在数据对象中为每个点提供颜色信息。谢谢,这是真的:我可以让数据数组嵌入标记颜色。这是一个不过,作为最后的手段,因为从结果页面以编程方式进行操作(例如,查看带有或不带有该视觉层的图表)也很有用,我现在看到可以将“false”参数添加到“update”中。谢谢!这需要几分钟到8秒的时间。这是一个不错的改进!
data:[{x:0,y:10,marker:{fillColor:'rgba(255,0,0,.5)'}},{x:10,y:25,marker:{fillColor:'rgba(255,0,0,.75)'}},{x:25,y:30,marker:{fillColor:'rgba(255,0,0,.25)'}}]