Recherche d'aide : Comment afficher en permanence des étiquettes de données sur un graphique cohérentes avec leur position
P粉302160436
2023-08-15 23:21:18
<p>Je souhaite afficher ces étiquettes de données en permanence sur le graphique afin qu'elles soient toujours visibles, et pas seulement au survol de la souris. Quelqu'un peut-il m'aider? [Voici un exemple similaire à celui-ci] J'ai aussi déposé mon code.
(https://i.stack.imgur.com/TY8X1.png)</p>
<pre class="brush:php;toolbar:false;"><!DOCTYPE html> <html lang="fr">
<tête>
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>exemple de diagramme circulaire</title>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
≪/tête>
<corps>
<div style="position : relative;">
<canvas id="pieChart" width="400" height="400"></canvas>
</div>
<script>
// Récupère l'élément canevas
var canevas = document.getElementById('pieChart');
//Créer un diagramme circulaire
var pieChart = nouveau graphique (toile, {
tapez : 'tarte',
données: {
libellés : ['en ligne', 'hors ligne'],
ensembles de données : [{
données : [8, 2],
Couleur d'arrière-plan : ['rgba(71, 190, 125, 1)', 'rgba(241, 65, 108, 1)'],
largeur de bordure : 0
}]
},
options : {
réactif : vrai,
maintenirAspectRatio : faux,
plugins : {
légende: {
affichage : faux
},
étiquettes de données : {
couleur : '#fff',
Anchor: 'end', // Position de l'étiquette de données (début, centre, fin)
align: 'end', // alignement du texte (début, centre, fin)
offset : 10, // décalage entre l'étiquette et le graphique
formateur : (valeur, ctx) =>
laissez label = ctx.chart.data.labels[ctx.dataIndex];
return label + ': ' + valeur + '%';
}
}
}
}
});
</script>
</corps>
</html></pre>
<p><br /></p>
J'ai ajouté un conteneur séparé pour les étiquettes et je les ai stylisés pour qu'ils correspondent à la couleur du graphique. J'utilise flexbox pour positionner les étiquettes à gauche du graphique. La fonction positionLabelsContainer() positionne le conteneur d'étiquettes en fonction de la taille du graphique et ajoute un écouteur d'événement à repositionner lorsque la fenêtre est redimensionnée.