J'utilise MPAndroidChart pour afficher le graphique boursier, mais la valeur de la ligne Y est si proche que le graphique ressemble à ceci
Je peux utiliser le zoom au doigt comme ça
Qui est je veux le défaut ressemble à
Est-il possible de définir la valeur maximale et minimale de la ligne Y ou le zoom par défaut?.
J'ai essayé la fonction lib, mais ça ne marche pas
Jetez un coup d'œil à la documentation de YAxis . Diverses méthodes vous permettent de contrôler la plage des axes.
setStartAtZero(boolean enabled)
: Si cette option est activée, la valeur minimale de cet axe sera toujours égale à zéro (0), quel que soit le type de données affiché par le diagramme.setAxisMaxValue(float max)
: définit une valeur maximale personnalisée pour cet axe. Si définie, cette valeur ne sera pas calculée automatiquement en fonction des données fournies. setAxisMinValue(float min)
: définit une valeur minimale personnalisée pour cet axe. Si définie, cette valeur ne sera pas calculée automatiquement en fonction des données fournies. setSpaceTop(float percent)
: définit l'espacement supérieur (en pourcentage de la plage d'axes totale) de la valeur la plus élevée du graphique par rapport à la valeur la plus élevée de l'axe. setSpaceBottom(float percent)
: définit l'espacement inférieur (en pourcentage de la plage d'axes totale) de la valeur la plus basse du graphique par rapport à la valeur la plus basse de l'axe. Il existe une sorte de dépendance entre les axes gauche et droit. Je n'avais que le bon axe activé et réglé
chart.getAxisRight().setStartAtZero(false);
mais cela n'a pas fonctionné tant que je n'ai pas défini le même paramètre sur leftYAxis, qui a été désactivé. Donc j'ai maintenant
chart.getAxisLeft().setStartAtZero(false);
chart.getAxisRight().setStartAtZero(false);
modifier:
setStartAtZero est obsolète, le code recommande d'utiliser setAxisMinimum à la place.
* This method is deprecated.
* Use setAxisMinimum(...) / setAxisMaximum(...) instead.
Vous pouvez trouver plus d'informations à ce sujet dans documentation .
Vous pouvez également utiliser le
mChart.setVisibleYRangeMaximum(150, AxisDependency.LEFT);
méthode pour définir la valeur visible la plus élevée sur l’axe des y.
utilisez setScaleMinima () et chart.moveViewToY (max), YAxis.AxisDependency.LEFT).
s'il vous plaît essayez ceci, je ne suis pas sûr que ce que vous voulez.
mChart.setPinchZoom (true); mChart.setScaleMinima (200, 200); // pour les valeurs min et max pour le zoom i Nous espérons pouvoir régler votre problème.