We can make creating charts on a web page easy with Chart.js.
In this article, we’ll look at how to create charts with Chart.js.
Mixed Chart Types
We can have multiple chart types in one chart with Chart.js.
For example, we can write:
var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx, {
type: 'bar',
data: {
datasets: [{
label: 'Bar Dataset',
data: [10, 20, 30, 40],
backgroundColor: 'green'
}, {
label: 'Line Dataset',
data: [50, 50, 50, 50],
type: 'line',
borderColor: 'blue'
}],
labels: ['January', 'February', 'March', 'April']
},
});
We set the type
to the 'line'
so that we have one line chart and one bar chart within the same chart.
Drawing Order
The order that they’re drawn can also be changed.
The dataset are drawn so that the first one is topmost.
We can change that by setting the order
property:
var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx, {
type: 'bar',
data: {
datasets: [{
label: 'Bar Dataset',
data: [10, 20, 30, 40],
backgroundColor: 'green',
order: 2
}, {
label: 'Line Dataset',
data: [20, 20, 20, 20],
type: 'line',
borderColor: 'blue',
order: 1
}],
labels: ['January', 'February', 'March', 'April']
},
});
Cartesian Axes
Cartesian axes are used by line, bar, and bubble charts.
4 cartesian axes are included in Chart.js by default.
They are linear, logarithmic, category, and time.
Axis ID
We can set the axis ID to set the ID of the axis.
For example, we can write:
var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx, {
type: 'line',
data: {
datasets: [{
label: 'Line 1',
data: [10, 20, 30, 40],
backgroundColor: 'green',
yAxisID: 'first-y-axis'
}, {
label: 'Line 2',
data: [20, 20, 20, 20],
backgroundColor: 'blue',
yAxisID: 'second-y-axis'
}],
labels: ['January', 'February', 'March', 'April']
},
options: {
scales: {
yAxes: [{
id: 'first-y-axis',
type: 'linear'
}, {
id: 'second-y-axis',
type: 'linear'
}]
}
}
});
We set the id
of the axes in the options
object to set the axes to display.
Category Cartesian Axis
We can change the category cartesian axis.
We can change the minimum and maximum items to display.
For example, we can write:
var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx, {
type: 'line',
data: {
datasets: [{
data: [10, 20, 30, 40, 50, 60]
}],
labels: ['January', 'February', 'March', 'April', 'May', 'June']
},
options: {
scales: {
xAxes: [{
ticks: {
min: 'March'
}
}]
}
}
});
Then the leftmost item is 'March'
and 'January'
and 'February'
aren’t displayed.
Linear Cartesian Axis
We can change settings in the linear cartesian axis, which is the axis for displaying numerical data.
For example, we can write:
var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx, {
type: 'line',
data: {
datasets: [{
label: 'First dataset',
data: [0, 20, 40, 50]
}],
labels: ['January', 'February', 'March', 'April']
},
options: {
scales: {
yAxes: [{
ticks: {
suggestedMin: 50,
suggestedMax: 100
}
}]
}
}
});
We set the suggestedMin
and suggestedMax
properties to set the min and max values and it’s adjusted to fit the values.
If we have values in the dataset below 50 or higher than 100, then they’ll still be displayed.
Conclusion
We can set various options for the axes with Chart.js.