首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >传递amCharts数据的更聪明的方法是什么

传递amCharts数据的更聪明的方法是什么
EN

Stack Overflow用户
提问于 2013-09-03 17:54:58
回答 2查看 1.9K关注 0票数 0

我认为使用amCharts不一定要使用jQuery。结合使用jQuery和amCharts有什么优势?

关于amCharts中使用的数据,有没有一种更“少编码”的方法来传递数据(而不是在使用的列上反复重复)?

var chartData = [{ country: "USA", visits: 4025, color: "#FF0F00" }, { country: "China", visits: 1882, color: "#FF6600" }, { etc....

最后,有没有一种更聪明的方法来构建chartS,而不是一遍又一遍地定义每个for (这是动态生成的图表的问题)?

`

代码语言:javascript
运行
复制
            // 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);

`

谢谢

EN

回答 2

Stack Overflow用户

发布于 2013-12-11 02:36:51

这听起来像是你是编程新手,或者你只是编写简单的脚本。我建议开始阅读设计模式、一些面向对象编程以及代码的抽象是如何工作的。

没有银弹可以实现你所要求的,它可以用一百万种方法来完成。

现在回到您的问题,也许您可以创建一个函数,该函数使用通用配置和传递的属性来创建图形。

代码语言:javascript
运行
复制
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));
}

祝好运!

票数 0
EN

Stack Overflow用户

发布于 2016-11-30 18:24:40

我过去经常使用amcharts,最好的方法之一是使用数据加载器插件,从CSV或任何URL.this加载数据,这样可以减少代码,而且可以根据文件或URL的不同频繁更改。

The data loader plugin information will be available here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18589248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档