2016-07-28 9 views
8

Utworzyłem wykres liniowy, który jest w stanie pomyślnie zaktualizować dane w chartjs i próbuję również dynamicznie zmieniać wartości opcji. Dokładniej chcę mieć możliwość zmiany skali. Chciałbym uniknąć ponownego tworzenia wykresu za każdym razem, gdy potrzebne są aktualizacje. Czy istnieje sposób, aby zaktualizować opcje dynamicznie takich jak:Dynamicznie aktualizuj opcje wykresu w chartjs przy użyciu Javascript

myLiveChart.options.scaleStepWidth = 10; 
myLiveChart.update(); 

Uwaga: Próbowałem następujących także:

myLiveChart.scaleStepWidth = 10; 

próbowali także myLiveChart.render(); zamiast aktualizacji, ale nic nie wydaje się naprawdę działają.

o to skrzypce ilustrujący problem: http://jsbin.com/yaxafehixe/1/edit?html,js,output

+1

czy sprawdziłeś dokumentację chartjs? to o jakimkolwiek użyciu - http://www.chartjs.org/docs/#scales-update-default-scale-config – Craicerjack

+1

@ Craicerjack: Tak, zrobiłem, ale nie mogłem znaleźć informacji o konkretnie chęci. ., który ma aktualizować opcje, a nie zestaw danych. To, co próbowałem do tej pory (przy użyciu funkcji renderowania lub aktualizacji) jest oparte na dokumentach. – Rose

+0

Problem: nie jestem pewien, gdzie dokładnie sprawdzić opcje takie jak: scaleOverride, scaleSteps, scaleStepWidth:, scaleStartValue nie są w sekcji 'scale', są bezpośrednio w sekcji' options' sekcja – Rose

Odpowiedz

5

znalazłem rozwiązanie, które działa w przypadku innych google to. Tutaj jest rzecz: użyłem programu chartjs w wersji 1, w którym funkcja update() nie działa we wszystkich przypadkach, szczególnie gdy próbujesz zmienić opcje wykresu. Dlatego przejście do wersji 2, pozwolił mi korzystać update() właściwie ze zmianą opcji, takich jak:

myChart.options.scales.yAxes[0].ticks.min = someValue; 

Oto skrzypce wykazać rozwiązanie mojego problemu w przypadku ktokolwiek stoi ten sam problem: http://jsbin.com/bamemuliyu/3/edit?html,js,output

Powiązane problemy