Rysuję wykres liniowy z miesięcznymi punktami danych. Jednak chcę, aby w skali wyświetlały tylko ciągi roku. Jak dotąd, takie łatwe. Jednakże, o ile widzę, Highcharts zawsze narysuje etykiety xAxis w stosunku do kleszczy ... i muszę wyświetlać je w środku między kleszczami. Czy jest jakiś prosty sposób robienia tego, czego mi brakuje, proszę ...?Highcharts: xAxis roczne etykiety wyśrodkowane między tikami
Odpowiedz
Istnieje kilka opcji xAxis, które mogą pomóc w robieniu tego, co chcesz.
http://api.highcharts.com/highcharts#xAxis.labels
Spójrz na „align”, który określa, czy etykiety są po lewej lub prawej stronie kleszcza, a także „x”, która pozwala na określenie x-przesunięcie na etykiecie od kleszcz.
Czy próbowałeś użyć umieszczenia tick? http://api.highcharts.com/highcharts#xAxis.tickmarkPlacement
"Tylko dla osie podzielone na kategorie", niestety ... – user1617662
Według mojego rozeznania, zachowanie chec to:
http://jsfiddle.net/msjaiswal/U45Sr/2/
Pozwól rozbić rozwiązanie:
1. Miesięczne dane punktów
Jeden punkt danych odpowiadający jednego miesiąca:
var data = [
[Date.UTC(2003,1),0.872],
[Date.UTC(2003,2),0.8714],
[Date.UTC(2003,3),0.8638],
[Date.UTC(2003,4),0.8567],
[Date.UTC(2003,5),0.8536],
[Date.UTC(2003,6),0.8564],
..
]
2. Skala do wyświetlania tylko rocznych znaczników
pomocą opcji wykres jak to:
xAxis: {
minRange : 30 * 24 * 3600 * 1000, //
minTickInterval: 12* 30 * 24 * 3600 * 1000 // An year
},
Problem polega na tym, że etykieta roku znajduje się pod nazwą "styczeń", a to nie w środku roku. – mirelon
Można to zrobić w celu obejścia tego problemu poprzez ręczne regulowanie położenia etykiety za pośrednictwem zwrotnego (tzw zarówno obciążenia i od nowa). Proszę spojrzeć na skrzypce do mojego komentarza na ten post: Highcharts - how can I center labels on a datetime x-axis?
Nie ma prostego, gotowego rozwiązania. Musisz użyć zdarzeń i odpowiednio zmienić położenie etykiet. Oto rozwiązanie próbki, które działa również podczas zmiany rozmiaru okna przeglądarki (lub w inny sposób zmuszając wykres na przerysowanie), nawet gdy zmienia się liczyć kleszcz: http://jsfiddle.net/McNetic/eyyom2qg/3/
Działa poprzez dołączenie tej samej procedury obsługi zdarzeń zarówno load
i redraw
wydarzenia:
$('#container').highcharts({
chart: {
events: {
load: fixLabels,
redraw: fixLabels
}
},
[...]
sam obsługi wygląda następująco:
var fixLabels = function() {
var labels = $('div.highcharts-xaxis-labels span', this.container).sort(function(a, b) {
return +parseInt($(a).css('left')) - +parseInt($(b).css('left'));
});
labels.css('margin-left',
(parseInt($(labels.get(1)).css('left')) - parseInt($(labels.get(0)).css('left')))/2
);
$(labels.get(this.xAxis[0].tickPositions.length - 1)).remove();
};
Zasadniczo, to działa tak:
- Uzyskaj wszystkie istniejące etykiety (po przerysowaniu, dotyczy to również nowo dodanych). 2. Sortuj według właściwości css 'left' (nie są one sortowane w ten sposób po ponownym rysowaniu)
- Oblicz przesunięcie między dwiema pierwszymi etykietami (przesunięcie jest takie samo dla wszystkich etykiet)
- Ustaw połowę przesunięcia jako margines -na końcu wszystkich etykiet, skutecznie przesuwając je o połowę przesunięcia w prawo.
- Usunąć prawą etykietę (przesunięta poza wykresem, czasem częściowo widoczna).
- 1. Highcharts - usuń czasy między datami na datacku xaxis typ
- 2. etykiety kolumn highcharts
- 3. Kąt etykiety XAxis w MPAndroidChart
- 4. Etykiety yaxis Highcharts Format
- 5. Próg etykiety wykresu kołowego Highcharts
- 6. Highcharts - Zachowaj zero wyśrodkowane na osi Y z wartościami ujemnymi
- 7. Jak dodawać etykiety XAxis do BarChartView w ios-chartach
- 8. Highcharts usuwają etykiety z wartością zerową
- 9. Stała szerokość etykiety osi Y w Highcharts
- 10. miejsce etykiety między kleszcze
- 11. Wyśrodkowane obrazy są rozmyte
- 12. Highcharts - etykiety wewnątrz i na zewnątrz wykresu kołowego
- 13. Highcharts: jak ustawić nazwę etykiety legendy po utworzeniu wykresu?
- 14. Wyświetlenie etykiety narzędzi dla niewidocznych serii w tabelach Highcharts
- 15. Highcharts: Wyświetlaj etykiety (min., Maks., Medianę itp.) W boxplot
- 16. Highcharts Pie Chart.Jak ustawić etykiety w dwóch wierszach
- 17. Jak zmienić rozmiar etykiety osi podczas eksportowania w Highcharts/Highstock
- 18. HighCharts: Kolor etykiety zgodnie z kolorem wycinka koła
- 19. AchartEngine Line Chart Xaxis Android
- 20. Okno dialogowe jQuery zawsze wyśrodkowane
- 21. Highcharts: Usuń spację między granicą wykresu a rzeczywistą mapą
- 22. HighCharts - zwiększenie wysokości pręta i zmniejszenie odstępu między kreskami
- 23. Highcharts etykieta oś przed pierwszym punktem
- 24. Highcharts - fire legendItemClick event
- 25. Grupowanie legend w Highcharts
- 26. Handling unix timestamp z highcharts
- 27. Przełęcz highcharts jest ukryta
- 28. Narzędzie do formatowania podpowiedzi Highcharts
- 29. pokazujące wszystkie wartości w kontroli wykresu Xaxis
- 30. Jak ustawić moje xlabel na koniec Xaxis
Już to robię. Dane są jednak dynamiczne, a wraz ze wzrostem szczelin między kleszczami, etykiety są coraz bardziej nieprawdopodobne, przyklejone do kleszczy ... Nie wiem, czy uda mi się zdobyć liczbę kleszczy, dzięki czemu mogę obliczyć odległość między nimi i ustawić przesunięcie x wyrównane do środka etykiety w locie ... – user1617662