Highcharts:如何根据正斜率或负斜率为样条曲线指定不同的颜色?
我正在评估一个项目的Highcharts,它似乎缺少一个我需要的内置功能 对于样条曲线,如果坡度为正,则需要指定一种颜色,如果坡度为负,则需要指定另一种颜色,如下所示:Highcharts:如何根据正斜率或负斜率为样条曲线指定不同的颜色?,highcharts,Highcharts,我正在评估一个项目的Highcharts,它似乎缺少一个我需要的内置功能 对于样条曲线,如果坡度为正,则需要指定一种颜色,如果坡度为负,则需要指定另一种颜色,如下所示: 在我花时间学习API之前,了解一下这是否可行会很有帮助。非常感谢提供一个工作示例。您可以使用动态计算的分区,例如: events: { load: function() { let points = this.series[0].points, zones = [], color;
在我花时间学习API之前,了解一下这是否可行会很有帮助。非常感谢提供一个工作示例。您可以使用动态计算的分区,例如:
events: {
load: function() {
let points = this.series[0].points,
zones = [],
color;
function addZone(value, color) {
zones.push({
value: value,
color: color
});
}
points.forEach(function(p, i) {
if (points[i - 1]) {
if (p.y >= points[i - 1].y) {
if (color && color !== 'green') {
addZone(points[i - 1].x, 'red');
}
color = 'green';
} else if (p.y <= points[i - 1].y) {
if (color && color !== 'red') {
addZone(points[i - 1].x, 'green');
}
color = 'red';
}
}
addZone(p.x, color);
});
this.series[0].update({
zones: zones
});
}
}
事件:{
加载:函数(){
设点=此。系列[0]。点,
分区=[],
颜色
函数addZone(值、颜色){
推({
价值:价值,
颜色:颜色
});
}
点。forEach(函数(p,i){
如果(第[i-1]点){
如果(p.y>=点[i-1].y){
如果(颜色和颜色!==“绿色”){
addZone(点[i-1].x,‘红色’);
}
颜色='绿色';
}否则如果(p.y正是我所追求的。你为我节省了很多时间的斗争-非常感谢!我很难在图表上实现这一点,当时我正在将样条曲线系列叠加在烛台系列上。出于我不想假装理解的原因,只有当样条曲线系列在系列数组中的烛台系列之上时,它才起作用。如果首先是tick series,它运行时没有错误,但没有应用颜色。这是可行的,但我更愿意了解发生了什么。有人能解释一下吗?这适用于较小的数据集,但对于覆盖有样条线的80k烛台的数据集,即使在功能强大的工作站上,页面在完成之前也会冻结。看起来它很有用对于更大的图表来说,太需要资源了。您好@Tullochgorum,如果您在load
事件中正确地引用了该系列,那么一切都可以正常工作:请检查此插件的性能测试:谢谢-这是一个假设问题,因为代码现在正在工作。