Comment définir la valeur de l'axe Y dans un graphique à barres verticales à l'aide du graphique JS
P粉729436537
P粉729436537 2023-08-29 10:38:36
0
1
535
<p>Dans ce graphique à barres verticales, l'axe Y a des valeurs positives et négatives. </p> <p>Je souhaite utiliser des entiers positifs au-dessus et en dessous de la valeur zéro. </p> <p>J'utilise la version 4.2.1</p> <p>Que dois-je faire ? </p> <p>Exemple de graphique vertical</p> <pre class="brush:php;toolbar:false;">var MOIS = [ "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre", ]; var couleur = Chart.helpers.color; varbarChartData = { étiquettes : ["janvier", "février", "mars", "avril", "mai", "juin", "juillet"], ensembles de données : [ { étiquette : « Ensemble de données 1 », Couleur d'arrière-plan : 'rgba(255, 201, 14, 1)', borderColor : 'rgba(255, 201, 14, 1)', largeur de bordure : 1, données: [ dix, 20, 30, 40, 50 ], }, { étiquette : « Ensemble de données 2 », Couleur d'arrière-plan : 'rgba(255, 201, 14, 1)', borderColor : 'rgba(255, 201, 14, 1)', largeur de bordure : 1, données: [ -100, -200, -300, -400, -500 ], }, ], } ; var ctx = bloodPressureChart ; nouveau graphique (ctx, { tapez : "barre", données : barChartData, options : { réactif : vrai, légende: { position : "haut", }, titre: { affichage : vrai, texte : "Graphique à barres Chart.js", }, }, });</pré> <p>Voici mon code utilisant le graphique JS. </p> <p>Mon diagramme de code</p>
P粉729436537
P粉729436537

répondre à tous(1)
P粉316110779

Si vous souhaitez simplement modifier le texte des étiquettes de l'axe Y, vous pouvez les modifier entièrement en définissant la fonction options.scales.y.ticks.callback, consultez la Documentation et la Référence API pour plus de détails. Dans votre cas, pour faire lire des valeurs négatives comme positives, vous pouvez utiliser :

callback: function(val){
    return this.getLabelForValue(Math.abs(val));
}

ou

callback: function(val){
    return this.getLabelForValue(val).replace(/^-/, '');
}

var ctx = document.getElementById('chart1');
var MONTHS = [
    "January",
    "February",
    "March",
    "April",
    "May",
    "June",
    "July",
    "August",
    "September",
    "October",
    "November",
    "December",
];

var barChartData = {
    labels: ["January", "February", "March", "April", "May", "June", "July"],
    datasets: [
        {
            label: "Dataset 1",
            backgroundColor: 'rgba(255, 201, 14, 1)',
            borderColor: 'rgba(255, 201, 14, 1)',
            borderWidth: 1,
            data: [
                10,
                20,
                30,
                40,
                50
            ],
        },
        {
            label: "Dataset 2",
            backgroundColor: 'rgba(255, 201, 14, 1)',
            borderColor: 'rgba(255, 201, 14, 1)',
            borderWidth: 1,
            data: [
                -100,
                -200,
                -300,
                -400,
                -500
            ],
        },
    ],
};

new Chart(ctx, {
    type: "bar",
    data: barChartData,
    options: {
        responsive: true,
        legend: {
            position: "top",
        },
        title: {
            display: true,
            text: "Chart.js Bar Chart",
        },
        scales:{
            y: {
                ticks: {
                    callback: function(val){
                        return this.getLabelForValue(Math.abs(val));
                        // or: //return this.getLabelForValue(val).replace(/^-/, '');
                    },
                }
            }
        },
    },
});
<canvas id="chart1" style="height:500px"></canvas>

<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.1.2/chart.umd.js"
        integrity="sha512-t41WshQCxr9T3SWH3DBZoDnAT9gfVLtQS+NKO60fdAwScoB37rXtdxT/oKe986G0BFnP4mtGzXxuYpHrMoMJLA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!