2016-05-12 3 views
0

angezeigt, also habe ich versucht, Flask zu verwenden, um Diagramme in einem 2x3-Raster anzuzeigen. (Insgesamt 6 Charts), aber ich kann nicht einmal einen bekommen.Highcharts werden nicht mit csv/json und Flask

Im Blick auf diese: http://www.highcharts.com/demo/line-time-series

Der Standard Beispiel scheint zu funktionieren. Jedoch, wenn ich meine eigenen Daten bei localhost hosten: 5000/data und Highcharts benutze, um sie zu laden, erscheint überhaupt nichts. Ich denke, dass die Daten das falsche Format haben.

meine Daten von der Form

{'2016-04-22': 3, 
'2016-04-25': 1, 
'2016-04-26': 1, 
'2016-04-29': 12, 
'2016-05-03': 2} 

aber die Daten in dieser Verbindung ist

?([ 
[Date.UTC(2013,5,2),0.7695], 
[Date.UTC(2013,5,3),0.7648], 
[Date.UTC(2013,5,4),0.7645], 
[Date.UTC(2013,5,5),0.7638]] 

Hier ist eine Geige Link (ignorieren data.csv, seine vermeintlichen Daten sein) https://jsfiddle.net/d8xgno5d/

Wer hat irgendwelche Hinweise? wirklich verzweifelt jetzt. Ich habe versucht, csv, aber ich weiß nicht, wie CSV-Daten von einem Link in Highchars laden.

alle Hilfe wird sehr geschätzt werden :)

danke! :)

+0

Wenn Sie eine Geige bereitstellen, stellen Sie sicher, dass es funktioniert. – apokryfos

+0

Hallo danke für deine Antwort! :) Darf ich fragen was meinst du damit? es funktioniert nicht, das ist, warum ich poste hier :( – Wboy

+0

Es funktioniert nicht in dem Sinne, dass Sie die jQuery oder Highcharts-Bibliothek nicht enthalten haben und Sie beziehen sich auf eine Ressource auf Ihrem localhost, die wir nicht zugreifen können Hilfe, wenn es keine Möglichkeit gibt zu sehen, was das Problem ist. – apokryfos

Antwort

2

Für die Interessenten, habe ich es für die Last csv-Methode zu lösen.

Durch die erste Zeile des .getJSON mit

ersetzt
$.get('http://localhost:5000/data.csv',function(csv){ 

können Sie CSV des laden statt, was viel einfacher ist, wenn Sie Pandas in Python verwenden können.

Hier ist der vollständige Code für die Javascript-Datei, falls erforderlich.

$(document).ready(function() { 
    $.get('http://localhost:5000/data.csv',function(csv){ 
     $('#workload').highcharts({ 
      chart: { 
       zoomType: 'x' 
      }, 
      data: { 
       csv: csv 
      }, 
      title: { 
       text: 'Evie Workload' 
      }, 
      subtitle: { 
       text: document.ontouchstart === undefined ? 
         'Click and drag in the plot area to zoom in' : 'Pinch the chart to zoom in' 
      }, 
      xAxis: { 
       type: 'datetime' 
      }, 
      yAxis: { 
       title: { 
        text: 'Emails' 
       } 
      }, 
      legend: { 
       enabled: false 
      }, 

      credits:{ 
       enabled:false 
      }, 
      plotOptions: { 
       area: { 
        fillColor: { 
         linearGradient: { 
          x1: 0, 
          y1: 0, 
          x2: 0, 
          y2: 1 
         }, 
         stops: [ 
          [0, Highcharts.getOptions().colors[0]], 
          [1, Highcharts.Color(Highcharts.getOptions().colors[0]).setOpacity(0).get('rgba')] 
         ] 
        }, 
        marker: { 
         radius: 2 
        }, 
        lineWidth: 1, 
        states: { 
         hover: { 
          lineWidth: 1 
         } 
        }, 
        threshold: null 
       } 
      }, 

      series: [{ 
       type: 'area', 
       name: 'Workload', 
      }] 
     }); 
    }); 
});