【发布时间】:2018-03-26 10:49:52
【问题描述】:
我需要使用 Chart.js 绘制一个有 2 条线的图表。
此行中的每一行都有不同的标签集。
IE。
图一:
1 -> 2
2 -> 4
3 -> 8
4 -> 16
图表2:
1 -> 3
3 -> 4
4 -> 6
6 -> 9
以下示例显然不起作用,因为它使用了 chart1 中的标签。但是有可能用 Chart.js 实现吗?
var config = {
type: 'line',
data: {
labels: [1,2,3,4,5],
datasets: [{
label: 'Chart 1',
data: [2,4,8,16],
}, {
label: 'Chart 2',
data: [3,4,6,9],
}]
},
其他图表库提供了一个(标签/数据)集作为参数,所以我可以简单地给出一个元组作为参数
(即 [(1->2),(2->4),(3->8)...]
对于每个图表,lib 将匹配所有内容。
谢谢
编辑:根据要求提供详细示例:
var config = {
type: 'line',
data: {
labels: [1, 2, 3, 4, 5],
datasets: [{
label: 'Chart 1',
data: [2, 4, 8, 16],
}, {
label: 'Chart 2',
data: [3, 4, 6, 9],
}]
},
options: {
spanGaps: true,
responsive: true,
title: {
display: true,
text: 'Chart.js Line Chart'
},
tooltips: {
mode: 'index',
intersect: false,
},
hover: {
mode: 'nearest',
intersect: true
},
scales: {
xAxes: [{
display: true,
scaleLabel: {
display: true,
labelString: 'Labels'
}
}],
yAxes: [{
display: true,
scaleLabel: {
display: true,
labelString: 'Values'
},
ticks: {
min: 1,
max: 10,
}
}]
}
}
};
window.onload = function() {
var ctx = document.getElementById('canvas').getContext('2d');
window.myLine = new Chart(ctx, config);
};
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.bundle.min.js"></script>
<div style="width:90%;" class="container">
<canvas id="canvas"></canvas><br>
</div>
【问题讨论】:
-
请提供一个工作示例。你见过 ChartJS 中的exampe about multiaxis 吗?
-
我添加了一个完整的 html 示例。如前所述,此图表不代表所需的数据,因为它使用相同的标签。 Multiaxes 示例显示了多 Y 轴的示例,但不显示 X 轴上的多数据
-
@MikeNathas,你看到我的回答了吗?