German 2 Achsen einstellen bei xChart Class

mw71

Active Member
Licensed User
Longtime User
Moin,

ich war auf der Suche nach einer Möglichkeit einen Chart anzuzeigen. Dabei bin ich auf die schöne Lib von @klaus gestoßen.
https://www.b4x.com/android/forum/threads/b4x-xui-xchart-class-and-b4xlib.91830/
Danke für die Arbeit :)?

Funktioniert soweit wunderbar, 3 Linien werden angezeigt (Chart Type: Line), jede mit eigener Scale.
Jetzt würde ich gerne die Min/Max Werte manuell setzten. Den passende Propertie hab ich gdsl. gefunden (YMinValue YMaxValue),
nur wie stelle ich das für 2 verschiedene Y Achsen ein? z.B. sollen 2 Linien auf der linken Achse mit min/max 10/15 angezeigt werden
und die 3te auf der anderen Achse, auf min/max -20/80 gesetzt (als Beispiel).
 

klaus

Expert
Licensed User
Longtime User
Diese Möglichkeit war nicht drin.
Versuche bitte die beiliegende Library, Version 8.1.
Ich habe vier neue Methoden hinzugefügt:
SetYScaleNMinValue(Index, Value)
GetYScaleNMinValue(Index)
SetYScaleNMaxValue(Index, Value)
GetYScaleNMaxValue(Index)

Diese erlauben manuelle individuelle Skalierungen für jede Kurve.
Beispiel für 4 Kurven:

B4X:
    LineChart2.DifferentScales = True 'vielleicht nicht nötig
    LineChart2.SetYScaleNMinValue(0, -50)
    LineChart2.SetYScaleNMaxValue(0, 50)
    LineChart2.SetYScaleNMinValue(1, -30)
    LineChart2.SetYScaleNMaxValue(1, 70)
    LineChart2.SetYScaleNMinValue(2, -70)
    LineChart2.SetYScaleNMaxValue(2, 30)
    LineChart2.SetYScaleNMinValue(3, -70)
    LineChart2.SetYScaleNMaxValue(3, 30)
 

Attachments

  • xChart.b4xlib
    40.6 KB · Views: 206
  • xChart.bas
    276.1 KB · Views: 194

mw71

Active Member
Licensed User
Longtime User
Vielen Dank ?? für die schnelle Unterstützung und Umsetzung.

Neue Lib geladen und eingebunden, Code ergänzt, kurze Panik weil es nicht ganz geklappt hat,
war der übliche Fehler....der, der vor dem Rechner sitzt. Ich hatte den Index 1,2,3 verwendet, muss natürlich 0,1,2 sein.
Danach hat es funktioniert. Nachdem ich noch die Kurven sortiert habe....wunderbar?
 
Top