javascript - 在分组条形图中对字段的相同实例进行分组 - CHART.JS
问题描述
我有以下 SQL 查询:
select datetime,name,amount
from users
where datetime in ('20180730 060000','20180731 060000','20180801 060000')
group by datetime, name
order by datetime
我想在分组条形图中对相同的日期实例进行分组(例如,如果日期时间为 20180730 060000 3 行,chart.js 将根据与日期时间相关的名称显示分组条)。
我们目前将 SQL 值存储在 JSON 数组中。Javascript 文件包含以下内容:
$(document).ready(function(){
$.ajax({
url:***,
method: "GET",
dataType: 'json',
cache: false,
success: function(data) {
console.log(data);
var DATETIME= [];
console.log(DATETIME);
var AMOUNT= [];
for(var i in data){
DATETIME.push(" " + data[i].DATETIME);
AMOUNT.push(data[i].AMOUNT);
}
var chartdata = {
labels: DATETIME,
datasets: [{
label : '',
backgroundColor: 'rgba(0, 0, 255, 0.3)',
borderColor: 'rgba(200, 200, 200, 0.75)',
hoverBackgroundColor: 'rgba(200, 200, 200, 1)',
hoverBorderColor: 'rgba(200, 200, 200, 1)',
data: AMOUNT
}]
};
var ctx = $("#mycanvas");
var barGraph = new Chart(ctx, {
type: 'bar',
data: chartdata
});
},
error: function(data){
console.log(data);
}
});
});
这是数组的输出:
[{"DATETIME":"20180730 060000","NAME":"JOE","AMOUNT":"5132"},
{"DATETIME":"20180730 060000","NAME":"ALAN","AMOUNT":"4603"},
{"DATETIME":"20180730 060000","NAME":"MARK","AMOUNT":"21391"},
{"DATETIME":"20180731 060000","NAME":"JOE","AMOUNT":"6492"},
{"DATETIME":"20180731 060000","NAME":"ALAN","AMOUNT":"8014"},
{"DATETIME":"20180731 060000","NAME":"MARK","AMOUNT":"27829"},
{"DATETIME":"20180801 060000","NAME":"JOE","AMOUNT":"6821"},
{"DATETIME":"20180801 060000","NAME":"ALAN","AMOUNT":"6938"},
{"DATETIME":"20180801 060000","NAME":"MARK","AMOUNT":"11961"}]
解决方案
推荐阅读
- r - .local(x, ...) 中的错误:x 和 y 不匹配
- vue.js - 添加插件到 vite
- javascript - 认证后React-Router重定向我得到无限循环的渲染
- mysql - 连接两个表,并提取具有多个条件(多个 sku)的最低价格
- rust - 如何找到 Rust 库的当前版本?
- javascript - NEXTJS 未加载绝对图像 URL
- java - 尽管满足简单条件,为什么这个while循环不退出?它不断回到for循环
- python - Sympy 逻辑不会将表达式简化为 SOPForm
- rust - 如何将 PathBuf 的所有权与路径切片一起移动
- java - 2 @EnableJpaRepository 引起的 BeanDefinitionOverrideException