2015-05-10 28 views
1

我想改變Dimple.js中的默認顏色,我希望每個欄是紅色的,我可以通過單獨引用系列中的每個條目來更改顏色,但我似乎無法改變整個圖表的顏色,一旦我將buyerchartSeries設置爲null。Dimple.js分配顏色到欄,當系列爲空

var myChart = new dimple.chart(svg2_3, data); 
    myChart.setBounds(10, 15, "92%", "84%"); 
    myChart.addMeasureAxis("x", "sum"); 
    var y = myChart.addCategoryAxis("y", "service"); 
    y.addOrderRule("sum"); 
    y.hidden = true; 
    var buyerchartSeries = myChart.addSeries(null, dimple.plot.bar); 
    myChart.assignColor(null,"red") 

    myChart.draw(); 

回答

1

你的解決方案很好,但如果你也有一些非空系列標識符,你想單獨着色它將無法正常工作。你可以使用assignColor,但你需要分配到「全部」:

var myChart = new dimple.chart(svg2_3, data); 
myChart.setBounds(10, 15, "92%", "84%"); 
myChart.addMeasureAxis("x", "sum"); 
var y = myChart.addCategoryAxis("y", "service"); 
y.addOrderRule("sum"); 
y.hidden = true; 
var buyerchartSeries = myChart.addSeries(null, dimple.plot.bar); 

// This is all I've changed 
myChart.assignColor("All", "red"); 

myChart.draw(); 
+0

約翰,感謝你,感覺像是一個更合適的方式來處理這個問題。謝謝。 – woodbine

1

我找到了答案......它可能是一個令人震驚的黑客,或者它可能是這樣做的最好方法,(建議歡迎)。

而不是將顏色分配給'null'系列,這顯然不起作用,我已更改圖表的defaultColor。如果您只有一種顏色,則它具有在所有條上施加單一顏色的正確效果。

var myChart = new dimple.chart(svg3_1, dt); 
    myChart.setBounds(4, 20, "88%", "80%"); 
    myChart.addMeasureAxis("x", "sum"); 
    var y = myChart.addCategoryAxis("y", "supplier"); 
    y.hidden = true; 
    supplierChartSeries = myChart.addSeries("supplier", dimple.plot.bar); 

    myChart.defaultColors = [ 
     new dimple.color("#3498db", "#2980b9", 1), // blue 
    ];