Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.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 }); }, 错误:函数(r){ 警报(r.responseText); }, 故障:功能(r){ 警报(r.responseText); } }); });_Javascript_Jquery_Json_Ajax_Highcharts - Fatal编程技术网

Javascript }); }, 错误:函数(r){ 警报(r.responseText); }, 故障:功能(r){ 警报(r.responseText); } }); });

Javascript }); }, 错误:函数(r){ 警报(r.responseText); }, 故障:功能(r){ 警报(r.responseText); } }); });,javascript,jquery,json,ajax,highcharts,Javascript,Jquery,Json,Ajax,Highcharts,如果我理解正确,您想为每个不同的panelCodeUI绘制图表吗 如果是这种情况,请在AJAX成功后更改代码: var productions = seriedata.d; var listPanelCodeUI = productions.map(function(p){return p.PanelCodeUI}).filter(function(item, pos, self) { return self.indexOf(item) == pos; }); //listPanelC

如果我理解正确,您想为每个不同的panelCodeUI绘制图表吗

如果是这种情况,请在AJAX成功后更改代码:

var productions = seriedata.d;

var listPanelCodeUI = productions.map(function(p){return p.PanelCodeUI}).filter(function(item, pos, self) {
    return self.indexOf(item) == pos;
});
//listPanelCodeUI : [21,11,31]

listPanelCodeUI.sort();

listPanelCodeUI.forEach(function(e){

   datamacro = [];

   //Create a div for each panelCodeUI
   $("body").append("<div id='barchart" + e + "'></div>");

   var divId = "#barchart"+e;

   //Filter productions for specific panelCodeUI
   var data = productions.filter(function(p){return p.panelCodeUI === e});

   data.forEach(function(d){
      var yval = d.Value;
      var xval = d.Date;
      var x = [xval, yval];
      datamacro.push(x);
   });

  $(function () {
      $(divId).highcharts({

      ...

      })
   })
}
var productions=seriedata.d;
var listPanelCodeUI=productions.map(函数(p){return p.PanelCodeUI}).filter(函数(item,pos,self){
返回自身索引(项目)=位置;
});
//listPanelCodeUI:[21,11,31]
listPanelCodeUI.sort();
listPanelCodeUI.forEach(函数(e){
datamacro=[];
//为每个panelCodeUI创建一个div
$(“正文”)。追加(“”);
var divId=“#条形图”+e;
//筛选特定panelCodeUI的产品
var data=productions.filter(函数(p){return p.panelCodeUI==e});
data.forEach(函数(d){
var yval=d.值;
var xval=d.日期;
var x=[xval,yval];
datamacro.push(x);
});
$(函数(){
$(divId).highcharts({
...
})
})
}

这就是解析数据所需的:

charts = [];
$.each(productions.map(function(el) {
    return el.PanelCodeUI;
  }).filter(function(el, index, arr) {
    return arr.indexOf(el) === index;
  }), function(index,PanelCodeUI) {
    var serie = productions.filter(function(el) {
      return el.PanelCodeUI === PanelCodeUI;
    });
    $.each(serie, function(index, production) {
      datamacro.push([production.Value, production.Date]);
    });
    drawChart('#barchart' + PanelCodeUI, 'LAST FIVE DAYS', datamacro);
  });
此外,我还创建了这个帮助函数来创建图表:

function drawChart(containerID, chartTitle, data) {
  charts.push(new Highchart.Chart({
    chart: {
      type: 'column',
      renderTo: containerID
    },
    title: {
      text: chartTitle
    },
    subtitle: {
      text: ''
    },
    xAxis: {
      type: "datetime",
      tickInterval: 24 * 3600 * 1000,
      labels: {
        rotation: -45,
        align: 'right'
      },
      dateTimeLabelFormats: { // don't display the dummy year
        day: '%e. %b',
      },
      //crosshair: true
    },
    credits: {
      enabled: false
    },
    yAxis: {
      labels: {
        enabled: false
      },
      title: {
        text: null
      }

    },
    tooltip: {
      formatter: function() {
        return Highcharts.dateFormat('%d/%m/%Y', new Date(this.x)) + '<br/>' + ' in barrels: ' + this.y;
      }
    },
    plotOptions: {
      column: {
        pointPadding: 0.2,
        borderWidth: 0
      },
      series: {
        pointRange: 24 * 3600 * 1000, // one day
        pointInterval: 3600 * 1000
      }
    },
    series: [{
      //name: '',
      showInLegend: false,
      data: data,
      dataLabels: {
        enabled: true,
        rotation: -90,
        color: '#FFFFFF',
        align: 'right',
        format: '{point.y:.1f}', // one decimal
        y: 10, // 10 pixels down from the top
        style: {
          fontSize: '13px',
          fontFamily: 'Verdana, sans-serif'
        }
      }
    }]
  }));
}
功能绘图图(集装箱ID、图表标题、数据){
图表。推送(新高点图表。图表({
图表:{
键入:“列”,
集装箱船
},
标题:{
文本:图表标题
},
副标题:{
文本:“”
},
xAxis:{
键入:“日期时间”,
时间间隔:24*3600*1000,
标签:{
轮调:-45,
对齐:“右”
},
dateTimeLabelFormats:{//不显示虚拟年份
日期:'%e.%b',
},
//十字准星:对
},
学分:{
已启用:false
},
亚克斯:{
标签:{
已启用:false
},
标题:{
文本:空
}
},
工具提示:{
格式化程序:函数(){
返回Highcharts.dateFormat(“%d/%m/%Y”,新日期(this.x))+”
“+”,以桶为单位:“+this.Y; } }, 打印选项:{ 专栏:{ 点填充:0.2, 边框宽度:0 }, 系列:{ 点范围:24*3600*1000,//一天 点间距:3600*1000 } }, 系列:[{ //名称:“”, showInLegend:false, 数据:数据, 数据标签:{ 启用:对, 轮换:-90, 颜色:“#FFFFFF”, 对齐:“右”, 格式:'{point.y:.1f}',//一位小数 y:10,//从顶部向下10像素 风格:{ fontSize:'13px', fontFamily:“Verdana,无衬线” } } }] })); }
再次您好。我正在测试您的代码。由于drawChart函数的第一行出现错误。未定义图表。是否是另一个highchart条形图数组,因此我需要定义图表[]在这个功能之外的某个地方?我的错,忘了添加它。是的,它只是一个数组,如果你以后需要做一些事情,它可以存储所有的推车。如果你不打算在绘制图表后修改图表,你可以删除
.push()
charts = [];
$.each(productions.map(function(el) {
    return el.PanelCodeUI;
  }).filter(function(el, index, arr) {
    return arr.indexOf(el) === index;
  }), function(index,PanelCodeUI) {
    var serie = productions.filter(function(el) {
      return el.PanelCodeUI === PanelCodeUI;
    });
    $.each(serie, function(index, production) {
      datamacro.push([production.Value, production.Date]);
    });
    drawChart('#barchart' + PanelCodeUI, 'LAST FIVE DAYS', datamacro);
  });
function drawChart(containerID, chartTitle, data) {
  charts.push(new Highchart.Chart({
    chart: {
      type: 'column',
      renderTo: containerID
    },
    title: {
      text: chartTitle
    },
    subtitle: {
      text: ''
    },
    xAxis: {
      type: "datetime",
      tickInterval: 24 * 3600 * 1000,
      labels: {
        rotation: -45,
        align: 'right'
      },
      dateTimeLabelFormats: { // don't display the dummy year
        day: '%e. %b',
      },
      //crosshair: true
    },
    credits: {
      enabled: false
    },
    yAxis: {
      labels: {
        enabled: false
      },
      title: {
        text: null
      }

    },
    tooltip: {
      formatter: function() {
        return Highcharts.dateFormat('%d/%m/%Y', new Date(this.x)) + '<br/>' + ' in barrels: ' + this.y;
      }
    },
    plotOptions: {
      column: {
        pointPadding: 0.2,
        borderWidth: 0
      },
      series: {
        pointRange: 24 * 3600 * 1000, // one day
        pointInterval: 3600 * 1000
      }
    },
    series: [{
      //name: '',
      showInLegend: false,
      data: data,
      dataLabels: {
        enabled: true,
        rotation: -90,
        color: '#FFFFFF',
        align: 'right',
        format: '{point.y:.1f}', // one decimal
        y: 10, // 10 pixels down from the top
        style: {
          fontSize: '13px',
          fontFamily: 'Verdana, sans-serif'
        }
      }
    }]
  }));
}