Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在amcharts中添加多个图形_Javascript_Amcharts - Fatal编程技术网

Javascript 如何在amcharts中添加多个图形

Javascript 如何在amcharts中添加多个图形,javascript,amcharts,Javascript,Amcharts,我是amcharts的新手,我正在使用下面的代码在一个图表中生成两个图形 var chart = AmCharts.makeChart("chartdiv", { "type": "serial", "dataLoader": { "url": "https://s3-us-west-2.amazonaws.com/s.cdpn.io/218423/data1.json" }, "valueAxes": [{ "gridColor": "#FFFFFF",

我是amcharts的新手,我正在使用下面的代码在一个图表中生成两个图形

 var chart = AmCharts.makeChart("chartdiv", {
  "type": "serial",
  "dataLoader": {
    "url": "https://s3-us-west-2.amazonaws.com/s.cdpn.io/218423/data1.json"
  },
  "valueAxes": [{
    "gridColor": "#FFFFFF",
    "gridAlpha": 0.2,
    "dashLength": 0
  }],
  "gridAboveGraphs": true,
  "startDuration": 1,
  "graphs": [{
    "balloonText": "[[category]]: <b>[[value]]</b>",
    "fillAlphas": 0.8,
    "lineAlpha": 0.2,
    "type": "column",
    "valueField": "visits"
  }],
  "chartCursor": {
    "categoryBalloonEnabled": false,
    "cursorAlpha": 0,
    "zoomable": false
  },
  "categoryField": "country",
  "categoryAxis": {
    "gridPosition": "start",
    "gridAlpha": 0,
    "tickPosition": "start",
    "tickLength": 20
  }
});

function setDataSet(dataset_url) {
  AmCharts.loadFile(dataset_url, {}, function(data) {
    chart.dataProvider = AmCharts.parseJSON(data);
    chart.validateData();
  });
var chart=AmCharts.makeChart(“chartdiv”{
“类型”:“串行”,
“数据加载器”:{
“url”:”https://s3-us-west-2.amazonaws.com/s.cdpn.io/218423/data1.json"
},
“价值轴”:[{
“gridColor”:“#FFFFFF”,
“gridAlpha”:0.2,
“dashLength”:0
}],
“网格图”:没错,
“起始持续时间”:1,
“图表”:[{
“文本”:“[[category]]:[[value]]”,
“填充字母”:0.8,
“lineAlpha”:0.2,
“类型”:“列”,
“valueField”:“访问”
}],
“图表光标”:{
“CategoryBallooneEnabled”:false,
“cursorAlpha”:0,
“可缩放”:错误
},
“类别字段”:“国家”,
“分类法”:{
“网格位置”:“开始”,
“gridAlpha”:0,
“滴答声位置”:“开始”,
“滴答声长度”:20
}
});
函数setDataSet(数据集\ url){
加载文件(数据集\ url,{},函数(数据){
chart.dataProvider=AmCharts.parseJSON(数据);
chart.validateData();
});

因此,这非常有效,现在我想在图表中添加多个图形,而不是一个图形。但我不想在之前定义需要多少个图形(没有固定大小)。那么如何在amcharts中动态添加图形呢?非常感谢您的帮助

假设您已经预先知道categoryField,您可以使用dataLoader的
complete
回调查看新分配的
dataProvider
数组,并根据数组对象中的键创建图形

  "dataLoader": {
    "url": "https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-160/SO-41015973.json",
    "complete": function(chart) {
      //get potential valueFields after filtering out the categoryField
      var valueFields = Object.keys(chart.dataProvider[0]).filter(function(value) {
        return value !== chart.categoryField;
      });
      //create the graphs
      valueFields.forEach(function(valueField) {
        chart.graphs.push({
          "valueField": valueField,
          "type": "column",
          "balloonText": "[[category]]: <b>[[value]]</b>",
          "fillAlphas": 0.8,
          "lineAlphas": 0.2
        })
      });
    }
  },
“数据加载器”:{
“url”:”https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-160/SO-41015973.json",
“完成”:功能(图表){
//过滤掉categoryField后获取潜在的valueFields
var valueFields=Object.keys(chart.dataProvider[0]).filter(函数(值){
返回值!==chart.categoryField;
});
//创建图形
valueFields.forEach(函数(valueField){
chart.graphs.push({
“valueField”:valueField,
“类型”:“列”,
“文本”:“[[category]]:[[value]]”,
“填充字母”:0.8,
“lineAlphas”:0.2
})
});
}
},

我在您的数据中添加了一个额外的字段,并创建了一个字段来显示这一点。

如果我添加更多的日期范围周期,它只显示为点,并且该点光标指示foo1和foo3的最后一个值。我可以显示平均值吗?