Javascript 动态图改变线颜色
我想更改动态图表的线条颜色 有价值。Javascript 动态图改变线颜色,javascript,dygraphs,Javascript,Dygraphs,我想更改动态图表的线条颜色 有价值。 示例当我的数据大于2时,我想更改颜色 我尝试选择颜色,但只是改变点颜色 我做了一个决定 这是我的选项动态图: color: function (color, d) { if (typeof d.index === 'undefined') { return color; } var val = columns[0][d.index + 1]; if (val >= 0 && val <= 150) {
示例当我的数据大于2时,我想更改颜色 我尝试选择颜色,但只是改变点颜色 我做了一个决定 这是我的选项动态图:
color: function (color, d) {
if (typeof d.index === 'undefined') { return color; }
var val = columns[0][d.index + 1];
if (val >= 0 && val <= 150) {
color = 'green';
} else if (val > 150 && val <= 300) {
color = 'yellow';
} else if (val > 300) {
color = 'red';
}
return color;
}
颜色:函数(颜色,d){
if(typeof d.index=='undefined'){return color;}
var val=列[0][d.index+1];
如果(val>=0&&val 150&&val 300){
颜色=红色;
}
返回颜色;
}
正如您所发现的,您不能将颜色设置为函数。不过,您可以使用稍微更通用的,它允许您为每个点绘制具有任何颜色的任何形状:
function coloredCircle(g, series, ctx, cx, cy, color, radius, idx) {
var y = g.getValue(idx, 1);
var pointColor = y < 5 ? 'green' : 'blue';
ctx.save();
ctx.fillStyle = pointColor;
ctx.beginPath();
ctx.arc(cx, cy, radius, 2 * Math.PI, false);
ctx.closePath();
ctx.fill();
}
g = new Dygraph(
div, data,
{
series: {
Y: {
drawPointCallback: coloredCircle,
pointSize: 5,
drawPoints: true
}
}
});
函数彩色圆(g、系列、ctx、cx、cy、颜色、半径、idx){
变量y=g.getValue(idx,1);
var pointColor=y<5?'green':'blue';
ctx.save();
ctx.fillStyle=pointColor;
ctx.beginPath();
ctx.弧(cx,cy,半径,2*Math.PI,假);
ctx.closePath();
ctx.fill();
}
g=新动态图(
数据处,
{
系列:{
Y:{
drawPointCallback:coloredCircle,
点数:5,
支取分数:正确
}
}
});
这是一个例子。有关drawPointCallback
的更多示例,请参阅,非常感谢,您的库非常棒!