Javascript 如何为每列设置单独的列图表颜色?

Javascript 如何为每列设置单独的列图表颜色?,javascript,dojox.charting,Javascript,Dojox.charting,我在Dojo 1.4中生成了一个柱状图,我想根据它表示的与阈值相关的值为各个列着色。例如,如果列的值为5或更小,则应为绿色填充。如果是10或更多,则应为红色填充 我可以在系列级别使用颜色,但我希望同一系列中的各个数据点具有此可变颜色方案。这能做到吗?有没有更好的办法来解决这个问题 以下是迄今为止我的应用程序生成的代码: var chart1 = new dojox.charting.Chart2D("simplechart"); chart1.addPlot("default", {type:

我在Dojo 1.4中生成了一个柱状图,我想根据它表示的与阈值相关的值为各个列着色。例如,如果列的值为5或更小,则应为绿色填充。如果是10或更多,则应为红色填充

我可以在系列级别使用颜色,但我希望同一系列中的各个数据点具有此可变颜色方案。这能做到吗?有没有更好的办法来解决这个问题

以下是迄今为止我的应用程序生成的代码:

var chart1 = new dojox.charting.Chart2D("simplechart");
chart1.addPlot("default", {type: "Columns", gap:5});
chart1.addPlot("target", {type: "Lines"});
chart1.addAxis("x",
    {labels: [{value: 1, text: "Aug '12"},
    {value: 2, text: "Sep '12"},
    {value: 3, text: "Oct '12"},
    {value: 4, text: "Nov '12"},
    {value: 5, text: "Dec '12"},
    {value: 6, text: "Jan '13"}],
    minorTicks:false});
chart1.addAxis("y", {vertical: true, min: 0, max: 9});
chart1.addSeries("Data Series", [6.9,7.7,1,5.5,7.6,8.1]);
chart1.addSeries("Target Series", [6,6,6,6,6,6], {plot:"target"});

chart1.render(); 
我希望“数据系列”中的各个点具有可变的颜色值。

您可以使用“StackedColumns”进行此操作。其想法是,您可以为每种颜色创建一个系列。例如,值5和10的“绿色”系列

然后,您必须计算数组中包含数据的每个值,并将该值放入相应的序列中,如下所示:

 for(var i=0; i<chartData.length;i++){
        if(chartData[i]<=5)
            fill("green",chartData[i]);
        else if(chartData[i]>5 && chartData[i]<=10)
            fill("yellow",chartData[i]);
        else
            fill("red",chartData[i]);
    }
for(var i=0;i您可以使用“StackedColumns”进行此操作。其思想是您可以为每种颜色创建一个系列。例如,值5和10的“绿色”系列

然后,您必须计算数组中包含数据的每个值,并将该值放入相应的序列中,如下所示:

 for(var i=0; i<chartData.length;i++){
        if(chartData[i]<=5)
            fill("green",chartData[i]);
        else if(chartData[i]>5 && chartData[i]<=10)
            fill("yellow",chartData[i]);
        else
            fill("red",chartData[i]);
    }

用于(var i=0;如果您发布了一些示例代码,iIt会有所帮助。只是添加了代码示例以提供上下文。如果您发布了一些示例代码,它会有所帮助。只是添加了代码示例以提供上下文。这完美地解决了问题,非常感谢JSFIDLE演示!这完美地解决了问题,非常感谢JSFIDLE演示!