2013-05-07 17 views
20

Mam problem z wysokimi punktami, w których generowane są różne wykresy wywoływane przez wywołania JSON.Ustaw wartość najniższych osi y wartości min na 0, chyba że występują ujemne dane

Dla większości z tych wykresów potrzebuję minimalnej wartości osi y, która ma być ustawiona na 0, jednak istnieje kilka okazji, w których należy wyświetlić wartości ujemne. Jak mogę powiedzieć, że wysokie wartości tablicy mają minimalną wartość osi Y równą 0, jeśli w danych nie ma wartości ujemnych, czy jest to możliwe?

Dzięki

+0

Link do najlepszej/prawidłowego rozwiązania, jeśli używasz Highcharts 5,0 i powyżej https://stackoverflow.com/a/41105873/2952405 –

Odpowiedz

9

Można dodać do swojej osi y:

yAxis: { 
      title: { 
       text: 'Title of the y-axis' 
      }, 
      min: 0 // this sets minimum values of y to 0 
     }, 
+9

to zawsze ustawić min do 0 pytanie "Jak mogę powiedzieć, że wysokie wartości tablicy mają minimalną wartość osi Y równą 0, jeśli w danych nie ma wartości ujemnych" Idealne rozwiązanie: – MurWade

+0

. Zapisz trochę miejsca interfejsu użytkownika – sansid1983

7

I to osiągnąć poprzez utworzenie funkcji używając setExtremes

var setMin = function() { 
    var chart = this, 
    ex = chart.yAxis[0].getExtremes(); 

    // Sets the min value for the chart 
    var minVal = 0; 

    if (ex.dataMin < 0) { 
    minVal = ex.dataMin; 
    } 

    //set the min and return the values 
    chart.yAxis[0].setExtremes(minVal, null, true, false); 
} 

następnie na wykresie, możesz to tak nazwać:

$('#container').highcharts({ 
    chart: { 
    events: { 
     load: setMin 
    } 
    }, 
}); 
3

Możesz se t "podłoga", określa minimalną możliwą wartość dla min. Dodanie wartości ujemnych nie będzie widoczne! (http://api.highcharts.com/highcharts/xAxis.floor)

yAxis: { 
    floor: 0 
} 

Wiem, że to pytanie zostało zadane dawno temu i ta właściwość nie istniała w tym czasie. Ale właśnie napotykam ten problem i myślę, że inni będą szczęśliwi, że nie będą musieli szukać.

3

Opcja, której szukasz, nazywa się softMin i została wprowadzona w wersji 5.0.1. Dokumenty opisują to następująco:

Miękkie minimum dla osi. Jeśli minimalne dane serii są większe niż , oś pozostanie na tym minimum, ale jeśli dane serii będą mniejsze, oś zgina się, pokazując wszystkie dane.

yAxis: { 
    softMin: 0 
} 

http://api.highcharts.com/highcharts/yAxis.softMin

Powiązane problemy