📜  图表 js 两个 y 轴 - Javascript (1)

📅  最后修改于: 2023-12-03 15:07:35.956000             🧑  作者: Mango

使用JavaScript绘制图表并拥有两个Y轴

在数据可视化领域,绘制具有两个Y轴的图表是非常常见和有用的。下面是通过JavaScript绘制图表并拥有两个Y轴的实现方法。

使用Chart.js库

Chart.js是一款轻量级的JavaScript库,可以绘制各种类型的图表,包括线形图、柱形图和饼图等等。本文主要介绍使用Chart.js绘制双Y轴线形图。

安装Chart.js

可以通过以下方式安装Chart.js:

<script src="https://cdn.jsdelivr.net/npm/chart.js@2.6.0/dist/Chart.min.js"></script>

也可以通过npm直接安装:

npm install chart.js --save
绘制双Y轴线形图

Chart.js提供了一个名为Chart的构造函数,我们可以使用它来绘制各种类型的图表。下面的示例展示了如何使用Chart.js绘制双Y轴线形图。

<!DOCTYPE html>
<html>
<head>
	<title>双Y轴线形图</title>
	<script src="https://cdn.jsdelivr.net/npm/chart.js@2.6.0/dist/Chart.min.js"></script>
</head>
<body>
	<canvas id="myChart" width="400" height="400"></canvas>
	<script>
		var data = {
		    labels: ["January", "February", "March", "April", "May", "June", "July"],
		    datasets: [
		        {
		            label: "My First dataset",
		            yAxisID: "y-axis-0",
		            data: [65, 59, 80, 81, 56, 55, 40]
		        },
		        {
		            label: "My Second dataset",
		            yAxisID: "y-axis-1",
		            data: [28, 48, 40, 19, 86, 27, 90]
		        }
		    ]
		};

		var options = {
		    scales: {
		        yAxes: [
		            {
		                type: "linear",
		                display: true,
		                position: "left",
		                id: "y-axis-0"
		            },
		            {
		                type: "linear",
		                display: true,
		                position: "right",
		                id: "y-axis-1",
		                gridLines: {
		                    drawOnChartArea: false
		                }
		            }
		        ]
		    }
		};

		var ctx = document.getElementById("myChart").getContext("2d");
		var myChart = new Chart(ctx, {
		    type: "line",
		    data: data,
		    options: options
		});
	</script>
</body>
</html>

在这段代码中,data和options分别代表图表的数据和配置。其中,data属性中的datasets数组包含两个数据集,分别对应左侧和右侧的Y轴。以"yAxisID"属性来指定当前数据集所使用的Y轴。options属性中的scales属性包含两个Y轴的配置,通过"id"属性来区分左右两个Y轴。

总结

通过使用Chart.js库,我们可以非常轻松地绘制具有两个Y轴的线形图,而不需要手工绘制和实现。同时,Chart.js还提供了丰富的配置选项和插件库,可以满足各种需求。