[
{
area:"A区",
total:[
{
[1,20]
},
{
[2,30]
},
{
[3,50]
},
]
},
{
area:"B区",
total:[
{
[1,50]
},
{
[2,70]
},
{
[3,80]
},
]
}
]
如何使用上述模拟数据,用Echarts绘制多条折线图,X轴为1,2,3月,Y轴为对应的数据
<template>
<div>
<!-- 折线图 -->
<div id="chartmainbar" style="width: 600px; height: 250px"></div>
</div>
</template>
<script>
export default {
data() {
return {
data: [
{
area: "A区",
total: [
[1, 20],
[2, 30],
[3, 50]
]
},
{
area: "B区",
total: [
[1, 50],
[2, 70],
[3, 80]
]
}
]
};
},
mounted() {
this.$nextTick(() => {
this.draw();
});
},
methods: {
draw: function () {
let chartmainbar = this.$echarts.init(
document.getElementById("chartmainbar")
);
let formattedData = this.data.map(item => ({
area: item.area,
total: item.total.map(entry => [this.mapMonth(entry[0]), entry[1]])
}));
// 配置项
var option = {
title: {
text: "多条折线图示例"
},
tooltip: {
trigger: "axis"
},
legend: {
data: formattedData.map(item => item.area)
},
xAxis: {
type: "category",
data: ["1月", "2月", "3月"]
},
yAxis: {
type: "value"
},
series: formattedData.map(item => ({
name: item.area,
type: "line",
data: item.total
}))
};
// 绘制图表
chartmainbar.setOption(option);
},
mapMonth: function (value) {
// 将数字映射到对应的月份
return value + "月";
}
}
};
</script>
【以下回答由 GPT 生成】
解决方案:
要使用Echarts绘制多条折线图,首先需要引入Echarts库,然后创建一个包含柱状图的div容器,并设置好样式。
下面是使用上述模拟数据绘制多条折线图的代码示例:
首先,在html文件中引入Echarts的脚本文件,并在body中添加一个用于显示图表的div容器,代码如下:
<!DOCTYPE html>
<html>
<head>
<title>多条折线图</title>
<script src="https://cdn.jsdelivr.net/npm/echarts@5.2.1/dist/echarts.min.js"></script>
</head>
<body>
<div id="chart" style="width: 600px; height: 400px;"></div>
<script>
// 模拟数据
var data = [
{
area: "A区",
total: [
[1, 20],
[2, 30],
[3, 50]
]
},
{
area: "B区",
total: [
[1, 50],
[2, 70],
[3, 80]
]
}
];
// 创建echarts实例
var chart = echarts.init(document.getElementById('chart'));
// 设置配置项
var option = {
xAxis: {
type: 'category',
data: ['1月', '2月', '3月']
},
yAxis: {
type: 'value'
},
series: []
};
// 根据模拟数据动态生成折线图数据
for (var i = 0; i < data.length; i++) {
var seriesData = {
name: data[i].area,
type: 'line',
data: data[i].total
};
option.series.push(seriesData);
}
// 使用配置项进行绘图
chart.setOption(option);
</script>
</body>
</html>
这段代码中,我们首先创建了一个包含id为"chart"的div容器,用于显示图表。然后使用模拟数据创建了一个Echarts实例,然后设置x轴和y轴的类型和数据,创建一个空的series数组,然后根据模拟数据动态生成折线图数据,最后使用配置项进行绘图。
以上代码在浏览器中运行后,会在页面上显示一个多条折线图,其中x轴为1月、2月、3月,y轴为对应的数据。其中A区和B区分别表示两条折线图的名称。
【相关推荐】