I created a scatter chart by using charts.js in my Django project. It is working clearly but in the toolbox, the legends name does not show just number is displaying. How can I display it?
I want to display it as: Argentina(44015314.68,28)
my code:
JavaScript
x
57
57
1
var bubbleChart = document.getElementById('mybubbleChart').getContext('2d')
2
3
var myBubbleChart = new Chart(bubbleChart,{
4
type: 'scatter',
5
data: {
6
datasets:[{
7
label: name_1,
8
data:[{x:x_1,y:y_1}],
9
backgroundColor:"#716aca"
10
},{
11
label: name_2,
12
data:[{x:x_2,y:y_2}],
13
backgroundColor:"#d643ad"
14
},{
15
label: name_3,
16
data:[{x:x_3,y:y_3}],
17
backgroundColor:"#2ec3be"
18
},{
19
label: name_4,
20
data:[{x:x_4,y:y_4}],
21
backgroundColor:"#2ec34e"
22
}, {
23
label: name_5,
24
data:[{x:x_5,y:y_5}],
25
backgroundColor:"#decb3e"
26
},
27
],
28
},
29
options: {
30
responsive: true,
31
maintainAspectRatio: false,
32
legend: {
33
position: 'bottom',
34
},
35
tooltip: { isHtml: false },
36
elements: {
37
point: {
38
radius: 10,
39
hoverRadius: 15,
40
}
41
},
42
scales: {
43
yAxes: [{
44
ticks: {
45
beginAtZero:true
46
},
47
48
}],
49
xAxes: [{
50
ticks: {
51
beginAtZero:true
52
},
53
}]
54
},
55
}
56
});
57
Advertisement
Answer
You can achieve this by using a custom callback to alter the text of the tooltip like so:
JavaScript
1
8
1
options: {
2
tooltips: {
3
callbacks: {
4
label: (tooltipItem, data) => (`${data.datasets[tooltipItem.datasetIndex].label}(${tooltipItem.xLabel},${tooltipItem.yLabel})`)
5
}
6
}
7
}
8
Working example:
JavaScript
1
32
32
1
var options = {
2
type: 'scatter',
3
data: {
4
datasets: [{
5
label: '# of Votes',
6
data: [{
7
x: 5,
8
y: 4
9
}, {
10
x: 2,
11
y: 7
12
}, {
13
x: 3,
14
y: 3
15
}, {
16
x: 3.5,
17
y: 5.5
18
}],
19
backgroundColor: 'red'
20
}]
21
},
22
options: {
23
tooltips: {
24
callbacks: {
25
label: (tooltipItem, data) => (`${data.datasets[tooltipItem.datasetIndex].label}(${tooltipItem.xLabel},${tooltipItem.yLabel})`)
26
}
27
}
28
}
29
}
30
31
var ctx = document.getElementById('chartJSContainer').getContext('2d');
32
new Chart(ctx, options);
JavaScript
1
4
1
<body>
2
<canvas id="chartJSContainer" width="600" height="400"></canvas>
3
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.js" integrity="sha512-hZf9Qhp3rlDJBvAKvmiG+goaaKRZA6LKUO35oK6EsM0/kjPK32Yw7URqrq3Q+Nvbbt8Usss+IekL7CRn83dYmw==" crossorigin="anonymous"></script>
4
</body>