MPAndroidChart - Les étiquettes de légende sont coupées
Je suis en utilisant MPAndroidChart bibliothèque. Quelqu'un a ce problème?
Quand je mets les étiquettes dans la position INFÉRIEURE, elles sont coupées.
Merci
source d'informationauteur rguerra
Vous devez vous connecter pour publier un commentaire.
Ils sont coupés parce que votre texte est trop long et la bibliothèque ne prend pas en charge le "wrapping" des étiquettes à une nouvelle ligne.
Vous devrez réduire votre légende d'étiquettes ou de mettre en œuvre les fonctionnalités que vous désirez vous-même.
Ce qui semble être une nouvelle fonctionnalité depuis le mois de juin (2015):
Javadoc:
Vous avez à mettre en œuvre personnaliser les légendes avec leurs légendes des couleurs et des etiquettes
en suivant les étapes
Étape 1
Légende légende = mChart.getLegend();
Étape 2
int colorcodes[] = légende.Couleurs();
Les étapes 3
for (int i = 0; i < legend.Couleurs().length-1; i++) {
.....
.....
}
Les étapes 4
Alors vous avez à prendre une disposition horizontale ou verticale. Vous devez obtenir les légendes des codes de couleur et les légendes lable et d'après les légendes longueur de créer la mise en page et de l'étiquette.
Exemple de Code est donné ci-dessous
Espère que cela va vous aider à
Ici, je vais vous montrer un moyen facile par "Traditionnel Android Way", c'est assez simple, mon code est ci-dessous:
Juste besoin d'ajouter des
padding
pour le conteneur de mise en page, ou certainsmargin
à l'affichage graphique, et enfin définir lesclipChildren
&clipToPadding
à false.Résultat ci-dessous:
la zone bleue est de rembourrage ou de la zone de marge.
Ensemble envelopper le contenu seulement Légendes position lors de la position de la légende est
BelowChartLeft, BelowChartRight, BelowChartCenter
Après cette série de dataset
il fonctionne parfaitement
Pour éviter écrêtage des valeurs de la légende utiliser le bloc de code suivant
Doc (pour la légende):
Pour éviter d'écrêtage (x étiquettes de l'axe des utilisation
Doc (pour x-étiquettes de l'axe):
Après une longue recherche, j'ai trouvé la solution. Le code ci-dessous résolu.
graphique.getLegend().setWordWrapEnabled(true);