我认为使用amCharts不一定要使用jQuery。结合使用jQuery和amCharts有什么优势?
关于amCharts中使用的数据,有没有一种更“少编码”的方法来传递数据(而不是在使用的列上反复重复)?
var chartData = [{ country: "USA", visits: 4025, color: "#FF0F00" }, { country: "China", visits: 1882, color: "#FF6600" }, { etc....
最后,有没有一种更聪明的方法来构建chartS,而不是一遍又一遍地定义每个for (这是动态生成的图表的问题)?
`
// second graph
graph = new AmCharts.AmGraph();
graph.title = "North America";
graph.labelText = "[[value]]";
graph.valueField = "namerica";
graph.type = "column";
graph.lineAlpha = 0;
graph.fillAlphas = 1;
graph.lineColor = "#D8E0BD";
chart.addGraph(graph);
// thirdt graph
graph = new AmCharts.AmGraph();
graph.title = "Asia-Pacific";
graph.labelText = "[[value]]";
graph.valueField = "asia";
graph.type = "column";
graph.lineAlpha = 0;
graph.fillAlphas = 1;
graph.lineColor = "#B3DBD4";
chart.addGraph(graph);
// fourth graph
graph = new AmCharts.AmGraph();
graph.title = "Latin America";
graph.labelText = "[[value]]";
graph.valueField = "lamerica";
graph.type = "column";
graph.lineAlpha = 0;
graph.fillAlphas = 1;
graph.lineColor = "#69A55C";
chart.addGraph(graph);
// fifth graph
graph = new AmCharts.AmGraph();
graph.title = "Middle-East";
graph.labelText = "[[value]]";
graph.valueField = "meast";
graph.type = "column";
graph.lineAlpha = 0;
graph.fillAlphas = 1;
graph.lineColor = "#B5B8D3";
chart.addGraph(graph);
// sixth graph
graph = new AmCharts.AmGraph();
graph.title = "Africa";
graph.labelText = "[[value]]";
graph.valueField = "africa";
graph.type = "column";
graph.lineAlpha = 0;
graph.fillAlphas = 1;
graph.lineColor = "#F4E23B";
chart.addGraph(graph);`
谢谢
发布于 2013-12-11 02:36:51
这听起来像是你是编程新手,或者你只是编写简单的脚本。我建议开始阅读设计模式、一些面向对象编程以及代码的抽象是如何工作的。
没有银弹可以实现你所要求的,它可以用一百万种方法来完成。
现在回到您的问题,也许您可以创建一个函数,该函数使用通用配置和传递的属性来创建图形。
function createGraph(title, valueField, color){
var graph = new AmCharts.AmGraph();
graph.title = title;
graph.labelText = "[[value]]";
graph.valueField = valueField;
graph.type = "column";
graph.lineAlpha = 0;
graph.fillAlphas = 1;
graph.lineColor = color;
}
var chart = Amcharts....;
var graphlist = [...];
for(int x = 0; x < graphlist; x++){
chart.add(createGraph(graphList[x].title, graphList[x].valueField, graphList[x].color));
}祝好运!
发布于 2016-11-30 18:24:40
我过去经常使用amcharts,最好的方法之一是使用数据加载器插件,从CSV或任何URL.this加载数据,这样可以减少代码,而且可以根据文件或URL的不同频繁更改。
https://stackoverflow.com/questions/18589248
复制相似问题