2016-11-09 1 views
0

Ich bin seit einiger Zeit daran fest und trotz mehrerer Versuche und viel Forschung muss ich noch die Lösung finden. Ich baue Diagramme mit zwei Y-Achsen. Alles funktioniert gut, außer dass der Highcharts berechnete maximale Y-Wert immer viel höher ist, als er sein sollte. Dies führt zu einer vergrößerten Grafik. Ich habe hier das Problem repliziert: http://jsfiddle.net/9vmtz3nf/Highcharts berechneter Maximalwert funktioniert nicht mit 2+ Y-Achse

ich keinen Maximalwert codieren kann, wie es immer davon abhängen wird, die Daten in der DB-und es gibt eine sehr breite Spanne von Werten möglich.

Also im Grunde, wie kann ich die Optionen und Parameter optimieren, um sicherzustellen, dass der Graph Max-Wert auf den nächsten Tick (150/600 im Beispiel-Beispiel) gesetzt ist?

Vielen Dank im Voraus

$(function() { 
    Highcharts.chart('container', { 
     chart: { 
      type: 'line' 
     }, 
     xAxis: { 
      categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] 
     }, 
     yAxis: [{ 
      title: { 
       text: 'Primary Axis' 
      }, 
     }, { 
      title: { 
       text: 'Secondary Axis' 
      }, 
      opposite: true 
     }], 
     plotOptions: { 
     }, 
     series: [{ 
      data: [29.9, 71.5, 106.4, 129.2, 124.0, 126.0, 135.6, 111.5, 116.4, 114.1, 95.6, 54.4] 

     }, { 
      data: [129.9, 271.5, 306.4, 29.2, 544.0, 376.0, 435.6, 348.5, 216.4, 294.1, 35.6, 354.4], 
      yAxis: 1 

     }] 
    }); 
}); 

Antwort

0

Dies ist ein Ergebnis des Diagramms ist versuchen, einen gemeinsamen Nenner zu finden. Selbst wenn Sie einen max Wert fest codieren, verhält sich das Diagramm so.

Das Festlegen der alignTicks-Eigenschaft auf false wird dies beheben.

chart: { 
    alignTicks: false 
} 

Fiddle:

Referenz:

+0

Dank jlbrrigs. Ich habe bereits mit alignTicks herumgespielt und ja, es funktioniert in dem Sinne, dass der Max-Tick richtig eingestellt ist, aber überhaupt nicht gut aussieht (selbst wenn ich die Gitterlinien der zweiten Achse verberge). Ich verstehe die Logik des gemeinsamen Nenners, aber es erklärt nicht, warum das in meinem Beispiel nicht 150/600 ist? Keiner der Werte überschreitet diesen Grenzwert –

+0

In meinem Beispiel ist es * 150/600, also bin ich etwas verwirrt, was Sie sonst wollen, und was nicht gut aussieht? – jlbriggs

+0

In Ihrem Beispiel sind die rechten Y-Achsenbeschriftungen gut ausgerichtet (obwohl die alignTicks ausgeschaltet sind), aber meistens ist dies nicht der Fall. Sie hätten die richtigen Labels nicht vor Gitternetzlinien, was nicht gut aussieht: / –