gpt4 book ai didi

javascript - Vue.js:如何从 vue Chart.js 的 API 检索数据

转载 作者:行者123 更新时间:2023-12-03 02:02:39 25 4
gpt4 key购买 nike

由于我没有绘制图表的经验,因此在我的项目中使用 vue-chart.js 可能不太容易理解。

我从 API 收到此数据:

reports: {

stats: {

2018-02: {
users: {
"min": 12481,
"max": 12581,
"length": 19,
"average": 12531,
"median": 12527
}
},
2018-03: {
users: {
"average": 12590,
"length": 1,
"max": 12590,
"median": 12590,
"min": 12590
}
}
}
}

我需要绘制一个图表,显示系统中每个月的活跃用户数量。所以我需要的唯一参数是median

到目前为止,我的图表如下所示(我从 vue-chart.js 的示例中获取了这个):

import { Line } from 'vue-chartjs';

export default {
extends: Line,
mounted () {
this.renderChart({
labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
datasets: [
{
label: 'Data One',
backgroundColor: '#f87979',
data: [40, 39, 10, 40, 39, 80, 40]
}
]
}, {responsive: true, maintainAspectRatio: false})
}
};

如何将中值值发送到图表的data参数?我有操作 loadFullReport 和 getter getFullReport。使用最后一个,我可以从您在上面看到的 report 对象中检索所有数据。

这是我所拥有的:

import api from '../api';

export default {
state: {
report: {
isLoaded: false,
data: {},
},
},
actions: {
loadFullReport({ commit }) {
api
.get('/reports/active', { params: { start_date: '2018-01-01', end_date: '2018-03-01' } })
.then(({ data }) => {
commit('SET_FULL_REPORT', data);
});
},
},
mutations: {
SET_FULL_REPORT(state, data) {
state.report = {
isLoaded: true,
data,
};
},
},
getters: {
getFullReport(state) {
return state.report;
},
},
};

最佳答案

我不太明白你的问题。您必须转换数据以适应 Chart.js 的架构

但是,您可以添加多个数据集。问题是你想要实现什么目标。

import { Line } from 'vue-chartjs';

export default {
extends: Line,
mounted () {
this.renderChart({
labels: ['2018-02', '2018-03'],
datasets: [
{
label: 'umin',
backgroundColor: '#f87979',
data: [12481, 12590]
},
{
label: 'umax',
backgroundColor: '#f87979',
data: [12581, 12590]
},
{
label: 'umedian',
backgroundColor: '#f87979',
data: [12527, 12590]
}
]
}, {responsive: true, maintainAspectRatio: false})
}
};

labels: 数组是您的 X 轴。数据集对象中的 data 数组是相应 X 值的 Y 值。

╔═════════╦════════════╦═════════════╗
║ ║ 2018-02 ║ 2018-03 ║
╠═════════╬════════════╬═════════════╣
║ umin ║ 12481 ║ 12590 ║
║ umax ║ 12581 ║ 12590 ║
║ umedian ║ 12527 ║ 12590 ║
╚═════════╩════════════╩═════════════╝

关于javascript - Vue.js:如何从 vue Chart.js 的 API 检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49943043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com