2014-10-01 66 views
0

我希望能夠通過使用變量使用dimple.js更改圖表的圖表類型。我想要例如從酒吧切換到線。我試過沒有成功,但看起來很簡單!任何想法?在dimple.js中更改圖表類型以自動生成圖表

下面是我的代碼:

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8"> 
     <title>Test</title> 
     <script type="text/javascript" src="http://d3js.org/d3.v3.min.js"></script> 
     <script type="text/javascript" src="http://dimplejs.org/dist/dimple.v2.1.0.min.js"></script> 
    </head> 
<body> 
<div id="chartContainer"> 
    <script type="text/javascript"> 
    var chartType = "line"; 
    var chartDimple = "dimple.plot." + chartType; 
    var svg = dimple.newSvg("#chartContainer", 590, 400); 
    d3.csv("data/test.csv", function (data) { //d3.tsv("data/example_data.tsv", function (data) { 
     var myChart = new dimple.chart(svg, data); 
     myChart.setBounds(60, 30, 510, 305) 
     var x = myChart.addCategoryAxis("x", "Month"); 
     x.addOrderRule("Date"); 
     myChart.addMeasureAxis("y", "Unit Sales"); 
     // myChart.addSeries(null, dimple.plot.bar); 
     myChart.addSeries(null, chartDimple); 
     myChart.draw(); 
    }); 
    </script> 
</div> 
</body> 
</html> 

回答

1

你傳遞一個字符串myChart.addSeries而不是dimple.plot對象。爲了使動態,你會需要參考您正在尋找的dimple.plot對象的靜態對象:

var chartType = "line"; 
var chartDimple = dimple.plot[chartType]; 
myChart.addSeries(null, chartDimple); 

https://github.com/PMSI-AlignAlytics/dimple/wiki/dimple.plot#static-objects

+0

非常感謝你,這是非常有幫助的。然而,我面臨同樣的問題,因爲我想象的是同樣的問題。我想通過一個配置文件對我的x軸進行分組,因此,我嘗試這樣做:'var MyGroup = [「Channel」,「Month」]; var x = myChart.addCategoryAxis(「x」,MyGroup);'它確實有效。但是,如果不是手動設置MyGroup的值,而是從配置文件讀取它,則不再有效。我不明白。我會歡迎任何建議。 – ncalaelen 2014-10-02 14:34:11

+0

我需要查看第二個示例中使用的代碼。你可以發佈一個新的問題,並可能創建一個jsbin複製它?在 – ne8il 2014-10-02 16:01:11

+0

中讀取文件的方式可能是一個問題,謝謝。我用plunker上的一些代碼發佈了一個新問題。 http://stackoverflow.com/questions/26181687/automation-of-dimple-js-charts-with-a-configuration-file – ncalaelen 2014-10-03 15:15:29