我有一个使用Dojo 1.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"**}
]);
但它仅适用于PIE图表而不适用于LINES图表。
提前谢谢。
答案 0 :(得分:5)
你可以尝试这个http://jsfiddle.net/jUS54/
在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 {};
}});
答案 1 :(得分:1)
您可以通过在图表数据中添加“填充”来更改颜色。基本上,在构造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"}];