我在我的网站上使用了一个不同的图表,这导致了一些问题,所以我们迁移到了 chartjs。一切正常,但我有一个在 chartjs 中找不到的要求。
在我正在处理的站点中,用户进行评估,并根据评估结果显示图表。
所以在评估中,有一个问题“你感觉加重了吗?”如果用户选择是,那么在图表中它会在该条上方显示一个图像,如下图所示。
在图片中,您可以看到两个条形上方的“E”。
我想在chartjs中实现相同的目标。是否可以?如果没有,那么你们可以建议一种方法来通知用户他们选择了“恶化”。
谢谢
最佳答案
您可以使用 chartjs-plugin-labels 将图像放置在单个条形图的顶部.
请查看以下可运行代码片段:
new Chart(document.getElementById('myChart'), {
type: 'bar',
data: {
labels: ['A', 'B', 'C', 'D'],
datasets: [{
label: 'My Dataset',
data: [25, 59, 80, 76],
fill: false,
backgroundColor: ['rgba(255, 99, 132, 0.2)', 'rgba(255, 159, 64, 0.2)', 'rgba(255, 205, 86, 0.2)', 'rgba(75, 192, 192, 0.2)'],
borderColor: ['rgb(255, 99, 132)', 'rgb(255, 159, 64)', 'rgb(255, 205, 86)', 'rgb(75, 192, 192)', 'rgb(54, 162, 235)'],
borderWidth: 1
}]
},
options: {
plugins: {
labels: {
render: 'image',
textMargin: 10,
images: [
{
src: '/image/9EMtU.png',
width: 20,
height: 20
},
null,
{
src: '/image/9EMtU.png',
width: 20,
height: 20
},
null
]
}
},
layout: {
padding: {
top: 30
}
},
legend: {
display: false
},
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
}
});
canvas {
max-width: 300px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/emn178/chartjs-plugin-labels/src/chartjs-plugin-labels.js"></script>
<canvas id="myChart" width="10" height="6"></canvas>
关于javascript - 在chartjs的条形顶部添加图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52110684/