Dojo图表:我可以根据值更改线条的颜色吗?

Dojo图表:我可以根据值更改线条的颜色吗?,dojo,dojox.charting,Dojo,Dojox.charting,我有一个Dojo1.8的工作图表 chart1 = new dojox.charting.Chart2D("chart1"); chart1.addPlot("default", {type: "Lines", ... chart1.addSeries("Series A", [{ x: 1, y: 2.3, tooltip: "Value 1"}, ... 我的系列数据正确显示为线条,整个线条系列的颜色为“绿色”。 我知道如何更改整个系列的颜色,但线条是否可能根据数据值更改其颜色?假设x轴是

我有一个Dojo1.8的工作图表

chart1 = new dojox.charting.Chart2D("chart1");
chart1.addPlot("default", {type: "Lines", ...
chart1.addSeries("Series A", [{ x: 1, y: 2.3, tooltip: "Value 1"}, ...
我的系列数据正确显示为线条,整个线条系列的颜色为“绿色”。 我知道如何更改整个系列的颜色,但线条是否可能根据数据值更改其颜色?假设x轴是一个时间轴,我需要线序列在今天之前为绿色,然后在将来的值中为红色。 这可能吗?如何实现? 我正在为值使用标记。如果这些可以根据价值变化,那就足够了

我在文档中发现了类似的内容:

chart.addSeries("Series A", [
    {y: 4, color: "red"},
    {y: 2, color: "green"},
    {y: 1, color: "blue"},
    {y: 1, text: "Other", **color: "white", fontColor: "red"**}
]);
但它只适用于饼图,不适用于折线图

提前谢谢你。

你可以试试这个

在addPlot方法中使用styleFunc更改标记颜色:

 var chart1 = new Chart("simplechart");
    chart1.addPlot("default", {type: Lines, markers:true, styleFunc: function(item {
    if(item <= 2){ 
      return { fill : "red" };
    }else if(item > 3){
      return { fill: "green" };
    }
    return {};
  }});
你可以试试这个

在addPlot方法中使用styleFunc更改标记颜色:

 var chart1 = new Chart("simplechart");
    chart1.addPlot("default", {type: Lines, markers:true, styleFunc: function(item {
    if(item <= 2){ 
      return { fill : "red" };
    }else if(item > 3){
      return { fill: "green" };
    }
    return {};
  }});

您可以通过向图表数据添加“填充”来更改颜色。基本上,在为chartData构建JSON时,循环输入数据,决定设置填充的内容

var chartData = [{y: 10000,fill: "red"},{y:9200,fill: "yellow"},{y:11811,fill: "green"},{y:12000,fill: "blue"},{y:7662,fill: "blue"},{y:13887,fill: "black"},{y:14200,fill: "gray"},{y:12222,fill: "purple"},{y:12000,fill: "green"},{y:10009,fill: "purple"},{y:11288,fill: "green"},{y:12099,fill: "blue"}];

您可以通过向图表数据添加“填充”来更改颜色。基本上,在为chartData构建JSON时,循环输入数据,决定设置填充的内容

var chartData = [{y: 10000,fill: "red"},{y:9200,fill: "yellow"},{y:11811,fill: "green"},{y:12000,fill: "blue"},{y:7662,fill: "blue"},{y:13887,fill: "black"},{y:14200,fill: "gray"},{y:12222,fill: "purple"},{y:12000,fill: "green"},{y:10009,fill: "purple"},{y:11288,fill: "green"},{y:12099,fill: "blue"}];

如果我需要基于项目值以外的其他内容的颜色怎么办?@Petr在styleFunc旁边的函数中,您可以传递您在代码中声明的任何对象。您是否有一个需要使用的值的示例,以便我可以创建一个JSFIDLE?如果我需要基于项目值以外的其他内容的颜色怎么办?@Petr在styleFunc旁边的函数中,您可以传递您在代码中声明的任何对象。您是否有一个需要使用的值的示例,以便我可以创建一个JSFIDLE?没有尝试过,但将数据中的“fill:red”更改为“color:red”?没有尝试过,但将数据中的“fill:red”更改为“color:red”??