Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

176
Views
Display Percentage on HTML Tag by fetching percentage data from Doughnut Chart

I am new in JavaScript and I really want to know that how can we display data in form of percentage by fetching percentage data through doughnut chart using JS

<div class="block-text">
             <div class="flex-chart"> <div class="box-file"></div><p class="spacing">abc</p>
             <p id = "count">20%</p></div>

             <div class="flex-chart"> <div class="box-url"></div><p class="spacing">xyz</p> 
             <p>30%</p>

         </div>
         </div>
     

Here is the Doughnut Chart JS code:

<script src="https://cdn.jsdelivr.net/npm/chart.js@2.9.4"></script>
<!--  <script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-datalabels@0.7.0"></script>  -->
 <script src="https://cdnjs.cloudflare.com/ajax/libs/chartjs-plugin-datalabels/2.0.0/chartjs-plugin-datalabels.min.js"></script>

<script>
// setup 
const data = {
  //labels: ['xyz', 'abc'],
  datasets: [{
   // label: 'Weekly Sales',
    data: [12, 20],     
    backgroundColor: [
      'rgb(254, 214, 10)',
      'rgb(255, 90, 48)'

      
    ],
    borderColor: [
      "#ffffff",         
    ],
    borderWidth: 1
  }]
};

// config 
const config = {
  type: 'doughnut',
  data,
 options: {
 plugins: {
  datalabels: {

    formatter: (value, ctx) => {

      let datasets = ctx.chart.data.datasets;

      if (datasets.indexOf(ctx.dataset) === datasets.length - 1) {
       var sum = datasets[0].data.reduce((a, b) => a + b, 0);
       var percentage = Math.round((value / sum) * 100) + '%';
      return percentage;
    
     } else {
       return percentage;
    
     }
   },
   color: '#fff',
 }
}        
}
}


// render init block
const myChart = new Chart(
  document.getElementById('chart'),
  config
);
Now I want to display Percentage to get it from doughnut chart percentage variable and post it on 'abc' tag abc

20%

I want percentage data in replace of 20% because 20% is static at this time

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Check this code may be it will help you.

 var data = [{
   data: [50, 55, 60, 33],
   labels: ["India", "China", "US", "Canada"],
   backgroundColor: [
     "#4b77a9",
     "#5f255f",
     "#d21243",
     "#B27200"
   ],
   borderColor: "#fff"
 }];

 var options = {
   tooltips: {
     enabled: false
   },
   plugins: {
     datalabels: {
       formatter: (value, ctx) => {

         let datasets = ctx.chart.data.datasets;

         if (datasets.indexOf(ctx.dataset) === datasets.length - 1) {
           let sum = datasets[0].data.reduce((a, b) => a + b, 0);
           let percentage = Math.round((value / sum) * 100) + '%';
           return percentage;
         } else {
           return percentage;
         }
       },
       color: '#fff',
     }
   }
 };


 var ctx = document.getElementById("pie-chart").getContext('2d');
 var myChart = new Chart(ctx, {
   type: 'pie',
   data: {
     datasets: data
   },
   options: options
 });
    

JSFIDDLE

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!