我见过其他支持分组条形图的javascript图表库,如下图所示,但我没有在chart.js的在线编辑器中看到这是一个显式选项。有没有可能在chart.js中做这种分组条形图?容易吗?他们的在线编辑器中有没有针对它的模板?
flvtvl501#
是的,您可以使用datasets属性提供多个数据集,该属性是一个包含值分组的数组。每个数据集在data中包含一系列与labels相对应的值。根据您的Chart.js版本,请参阅下面两个略有不同的示例。图表. js版本1.x
datasets
data
labels
var ctx = document.getElementById("myChart").getContext("2d");var data = { labels: ["Chocolate", "Vanilla", "Strawberry"], datasets: [ { label: "Blue", fillColor: "blue", data: [3,7,4] }, { label: "Red", fillColor: "red", data: [4,3,5] }, { label: "Green", fillColor: "green", data: [7,2,6] } ]};var myBarChart = new Chart(ctx).Bar(data, { barValueSpacing: 20 });
var ctx = document.getElementById("myChart").getContext("2d");
var data = {
labels: ["Chocolate", "Vanilla", "Strawberry"],
datasets: [
{
label: "Blue",
fillColor: "blue",
data: [3,7,4]
},
label: "Red",
fillColor: "red",
data: [4,3,5]
label: "Green",
fillColor: "green",
data: [7,2,6]
}
]
};
var myBarChart = new Chart(ctx).Bar(data, { barValueSpacing: 20 });
请参阅this JSFiddle。
var ctx = document.getElementById("myChart").getContext("2d");var data = { labels: ["Chocolate", "Vanilla", "Strawberry"], datasets: [ { label: "Blue", backgroundColor: "blue", data: [3,7,4] }, { label: "Red", backgroundColor: "red", data: [4,3,5] }, { label: "Green", backgroundColor: "green", data: [7,2,6] } ]};var myBarChart = new Chart(ctx, { type: 'bar', data: data, options: { barValueSpacing: 20, scales: { yAxes: [{ ticks: { min: 0, } }] } }});
backgroundColor: "blue",
backgroundColor: "red",
backgroundColor: "green",
var myBarChart = new Chart(ctx, {
type: 'bar',
data: data,
options: {
barValueSpacing: 20,
scales: {
yAxes: [{
ticks: {
min: 0,
}]
});
vsdwdz232#
是的,可以在chart.js中制作这种分组条形图,而且非常简单
循序渐进:-步骤1:-
首先添加charts.js的脚本链接:-
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/1.0.2/Chart.min.js"></script>
步骤2:-
在html正文中添加div '
<body> <table> <tr> <td> <div id="chart_div" style="width: 800px; height: 300px;"> </div> </td> </tr> </table> </body>
<body>
<table>
<tr>
<td>
<div id="chart_div" style="width: 800px; height: 300px;">
</div>
</td>
</tr>
</table>
</body>
步骤3:-
<script>var densityCanvas = document.getElementById("densityChart");var Data1 = { label: 'A', data: [3.7, 8.9, 9.8, 3.7, 23.1, 9.0, 8.7, 11.0], backgroundColor: 'rgba(99, 132, 0, 0.6)', borderColor: 'rgba(99, 132, 0, 1)', yAxisID: "y-axis-gravity"}var Data2 = { label: 'B', data: [3.7, 8.9, 9.8, 3.7, 23.1, 9.0, 8.7, 11.0], backgroundColor: 'rgba(99, 132, 0, 0.6)', borderColor: 'rgba(99, 132, 0, 1)', //yAxisID: "y-axis-gravity"}var Data3 = { label: 'C', data: [3.7, 8.9, 9.8, 3.7, 23.1, 9.0, 8.7, 11.0], backgroundColor: 'rgba(99, 132, 0, 0.6)', borderColor: 'rgba(99, 132, 0, 1)', //yAxisID: "y-axis-gravity"}
<script>
var densityCanvas = document.getElementById("densityChart");
var Data1 = {
label: 'A',
data: [3.7, 8.9, 9.8, 3.7, 23.1, 9.0, 8.7, 11.0],
backgroundColor: 'rgba(99, 132, 0, 0.6)',
borderColor: 'rgba(99, 132, 0, 1)',
yAxisID: "y-axis-gravity"
var Data2 = {
label: 'B',
//yAxisID: "y-axis-gravity"
var Data3 = {
label: 'C',
***注-***:您可以创建多个要显示的变量数据,并仅将yAxisID赋予一个变量数据,然后将其显示为一个组y轴
var planetData = { labels: ["A", "B", "C"], datasets: [Data1,Data2, Data3 ]};var chartOptions = { scales: { xAxes: [{ barPercentage: 1, categoryPercentage: 0.4 }], yAxes: [{ id: "y-axis-Registered" } ] }};var barChart = new Chart(densityCanvas, { type: 'bar', data: planetData, options: chartOptions});</script>
var planetData = {
labels: ["A", "B", "C"],
datasets: [Data1,Data2, Data3 ]
var chartOptions = {
xAxes: [{
barPercentage: 1,
categoryPercentage: 0.4
}],
id: "y-axis-Registered"
var barChart = new Chart(densityCanvas, {
data: planetData,
options: chartOptions
</script>
***注意:-***当我试图使用这个离线Chart.js库,并为我的情况创建图表,然后这个漂亮的解决方案帮助我很多:-
图片中上次查看:-In picture Last Look
2条答案
按热度按时间flvtvl501#
是的,您可以使用
datasets
属性提供多个数据集,该属性是一个包含值分组的数组。每个数据集在data
中包含一系列与labels
相对应的值。根据您的Chart.js版本,请参阅下面两个略有不同的示例。
图表. js版本1.x
请参阅this JSFiddle。
图表. js版本2.x
请参阅this JSFiddle。
vsdwdz232#
是的,可以在chart.js中制作这种分组条形图,而且非常简单
循序渐进:-
步骤1:-
首先添加charts.js的脚本链接:-
步骤2:-
在html正文中添加div '
步骤3:-
***注-***:您可以创建多个要显示的变量数据,并仅将yAxisID赋予一个变量数据,然后将其显示为一个组y轴
***注意:-***当我试图使用这个离线Chart.js库,并为我的情况创建图表,然后这个漂亮的解决方案帮助我很多:-
图片中上次查看:-In picture Last Look