如何在图表顶部显示标签(chart.js)

时间:2020-06-18 16:43:15

标签: javascript charts chart.js

在下面的代码中,标签是适用的(我可以将标签名称悬停在颜色上),但不显示在图表的顶部(this.color-> this.value),就像标签一样,图表顶部,如下图所示。帮助获得这些标签。 need labels at the top of chart as like below image

 var p=[22,33,44,55,66];          
firebase.firestore().collection("product_info").onSnapshot(
    async function(querySnapshot){
        querySnapshot.forEach(async function(doc){                      
            var temp=await doc.data().name;
            it.push(await temp);
                console.log(it);
});     
    });  
     console.log(it);
Chart.defaults.global.defaultFontFamily = '-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif';
Chart.defaults.global.defaultFontColor = '#292b2c';
var ctx = document.getElementById("myPieChart");
var myPieChart = new Chart(ctx, {
  type: 'pie',
  data: {
    labels: it,
    datasets: [{
      data: p,
      backgroundColor: ['#007bff', '#dc3545', '#ffc107', '#28a745'],
    }],
  }
,
});

1 个答案:

答案 0 :(得分:0)

legend添加到您的配置中:

{

    type: 'pie',
    data: {
        ...
    },
    options: {
        legend: {
            position: 'top'
        }
    }
    ...
}

示例

var ctx = document.getElementById("myChart").getContext('2d');
var myChart = new Chart(ctx, {
    type: 'pie',
    data: {
        labels: [ "My", "Dataset", "Labels" ],
        datasets: [{
            data: [ 22, 33, 44 ],
            backgroundColor: [ '#007bff', '#dc3545', '#9932CC' ]
        }]
    },
    options: {
        legend: {
            position: 'top'
        }
    }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.js"></script>
<div class="container">
  <div>
    <canvas id="myChart"></canvas>
  </div>
</div>