JSFiddle - React, Tailwind, and code Playground
by k_sav
HTML
<script src="http://www.chartjs.org/assets/Chart.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.3.0/Chart.bundle.js"></script>
<canvas id="myChart" width="400" height="400"></canvas>
JavaScript
const res = {
fruits: [
{
oranges: {
good: 10,
not_good: 5
},
apples: {
good: 6,
not_good: 1
},
grapes: {
good: 9,
not_good: 5
},
pears: {
good: 15,
not_good: 6
}
}
]
};
const datasets = Object.entries(res.fruits[0]).map(fruit => {
return {
label: fruit[0],
data: Object.values(fruit[1]),
backgroundColor: getRandomColor()
};
});
const ctx = document.getElementById("myChart").getContext("2d");
const data = {
labels: ["Good", "Not good"],
datasets
};
const myBarChart = new Chart(ctx, {
type: 'bar',
data: data,
options: {
barValueSpacing: 20,
scales: {
yAxes: [{
ticks: {
min: 0,
}
}]
}
}
});
function getRandomColor() {
const letters = '0123456789ABCDEF';
let color = '#';
for (let i = 0; i < 6; i++) {
color += letters[Math.floor(Math.random() * 16)];
}
return color;
}