我想将以下每个数组的第二个值,第三个值,第四个值分别取出并分别写入三个数组0 : (4) [0.625, 5, 0, 3] 1 : (4) [0.545455, 6, 0, 5] 2 : (4) [0.5, 3, 0, 3] 3 : (4) [0.5, 3, 0, 3] 4 : (4) [0.428571, 3, 0, 4] 5 : (4) [0.428571, 3, 1, 3] 6 : (4) [0.25, 2, 1, 5] 7 : (4) [0.230769, 3, 0, 10] 8 : (4) [0.222222, 4, 0, 14] 9 : (4) [0.2, 2, 0, 8],我已写出代码但无法实现,请帮我改正并优化:this.movieService.good_directors().subscribe((data: any[]) => { this.movies = data; console.log(this.movies); const Director = Object.keys(data) const lastThree = Object.values(data).slice(-3); const a = []; const b = []; const c = []; for (let i = 0; i < lastThree.length; i++) { a.push(lastThree[i][1]); b.push(lastThree[i][2]); c.push(lastThree[i][3]); console.log(a, b, c); } this.options = { title: { text: '不同地区电影年产量对比', 左:'中心', }, 工具提示: { 触发器: '轴', 轴指针: { 类型: '阴影' } }, 图例: {}, 网格: { 左: '3%', 右: '4%', 底部: '3%', 包含标签: 真 }, xAxis: [ { 类型: '类别', 数据: 导演 } ], yAxis: [ { 类型: '值' } ], 系列: [ { 名称: '好', 类型: '条形', 堆栈: '广告', 强调: { 焦点: '系列' }, 数据:a }, { 名称: '坏', 类型: '条形图', 堆栈: '广告', 强调: { 焦点: '系列' }, 数据:b, }, { 名称: '正常', 类型: '条形', 堆栈: '广告', 强调: { 焦点: '系列' }, 数据:C }, ] };}) }}
时间: 2024-02-17 11:04:53 浏览: 103
第十四届绍兴市少儿信息学竞赛初赛试题
你的代码中的问题是在 `xAxis` 中使用了 `Director` 变量,但是 `Director` 变量没有被定义或赋值。另外,在 `series` 中使用的变量名也应该是小写的。
以下是修改后的代码:
```
this.movieService.good_directors().subscribe((data: any[]) => {
this.movies = data;
console.log(this.movies);
const lastThree = data.slice(-3);
const a = [];
const b = [];
const c = [];
for (let i = 0; i < lastThree.length; i++) {
a.push(lastThree[i][1]);
b.push(lastThree[i][2]);
c.push(lastThree[i][3]);
console.log(a, b, c);
}
this.options = {
title: {
text: '不同地区电影年产量对比',
left: '中心',
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
legend: {},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: [{
type: 'category',
data: ['第二个值', '第三个值', '第四个值']
}],
yAxis: [{
type: 'value'
}],
series: [{
name: '好',
type: 'bar',
stack: '广告',
emphasis: {
focus: 'series'
},
data: a
}, {
name: '坏',
type: 'bar',
stack: '广告',
emphasis: {
focus: 'series'
},
data: b
}, {
name: '正常',
type: 'bar',
stack: '广告',
emphasis: {
focus: 'series'
},
data: c
}]
};
});
```
这个代码会将最后三个数据中第二个、第三个和第四个值分别存储在 `a`、`b`、`c` 数组中,并使用这些值来绘制柱状图。`xAxis` 中使用的是硬编码的字符串,你可以根据需要修改。
阅读全文