2016-11-29 3 views
1

Ich versuche herauszufinden, warum ich that chart breiter als der Container habe. Ich habe festgestellt, dass, wenn ich die Breite komplett entfernen for the first screenshot und dann Breite: 100% in der nächsten. Ich bin jedoch nicht in der Lage, diesen Stil zu erzwingen und ich denke, das ist nicht der richtige Weg.HIGHcharts - Diagrammbreite nicht die Größe des übergeordneten Containers

Hier sind die Einstellungen meines Diagramms. Ansonsten benutze ich kein anderes CSS.

var chart = new Highcharts.Chart({ 
      chart: { 
      renderTo: 'container10', 
      type: 'line', 
      plotBackgroundColor: null, 
      plotBorderWidth: null, 
      plotShadow: false, 
      spacingRight: 5, 
      height: 370, 
      width: 770 
      }, 
      title: { 
      text: 'Database volume' 
      }, 
      colors:['#229369', '#00526F'], 
      xAxis: { 
      categories: catValues 
      }, 
      yAxis: [{ 
      title: { 
       text: 'Table size in MB' 
      }, 
      labels: { 
       style: { 
        color: '#229369' 
       } 
      } 
      }, 
      { 
      title: { 
       text: 'Index size in MB' 
      }, 
      labels: { 
       style: { 
        color: '#00526F' 
       } 
      }, 
      opposite: true 
      }], 
      tooltip: { 
       valueSuffix: ' MB' 
      }, 
      plotOptions: { 
      line: { 
       dataLabels: { 
       enabled: true 
       }, 
       enableMouseTracking: true 
      } 
      }, 
      series: [{ 
      name: 'Table', 
      data: series1, 
      }, { 
      name: 'Index', 
      yAxis: 1, 
      data: series2 
      }] 
     }); 
+0

Es sieht für mich, als ob Sie ein 'width' in Ihrer Diagrammeinstellung festgelegt haben, die breiter als die Container ist. Welches Verhalten erwarten Sie in diesem Fall? – jlbriggs

+0

Nun, in diesem Fall, ja, es ist ein bisschen zu groß. Als ich jedoch den Wert verringerte, bekam ich das umgekehrte Problem - das Diagramm war zu klein für den Container. Ich habe es behoben, indem ich die Methode setSize() aufgerufen habe. – Petya

+0

Es scheint, ich habe einen Fehler gemacht. Dies funktioniert nur unter Chrome. Firefox zeigt das Diagramm kleiner und Safari macht es ein bisschen größer. Irgendwelche Ideen warum? Danke! – Petya

Antwort

0

Ich bin mir nicht sicher, ob dies der richtige Weg ist, das zu beheben, aber scheint zu funktionieren. Ich habe die Breite des Containers der Chart-Direktive festgelegt.

.chart-wrapper { 
    width: 99%; 
} 

Dann in der Richtlinie Code onDataLoaded oder windowResized Ich nenne das:

function resize() { 
    height = chart.height; 
    width = $(".chart-wrapper").width(); 
    chart.setSize(width, height, doAnimation = false); 
} 
Verwandte Themen