如何在热图中正确设置setData的最大值?

问题描述

我保存了一些数据,并且数据量巨大,数据库中保存了100.000加分。采用这种格式:

 database_data = [
                   { x: 100,y: 100,value: 1},{ x: 200,{ x: 120,y: 320,...
                 ]

如上所述,我给每个点的值都是1。我想使用:

heatmap.setData({
    max: max_value,data: database_data
}); 

在屏幕上绘制数据。如何计算热图的max_value?因为我想将信息显示在屏幕上,所以其中红色最多的是我们在数据库中的频率较高的点,而红色较少的是我们在数据库中仅有一次的点的颜色。但是据我们所知,(x:100,y:100)和x:120,y:120)之间会有一些交集,就像正常的热图一样,这也需要考虑。

换句话说,我想知道如何使用setData函数自动计算热图中的“ max”值! 在下面,它是一个运行良好的函数,但需要花费大量时间:

var body = document.body;
var bodyStyle = getComputedStyle(body);
var hmEl = document.querySelector(".heatmap-wrapper");



hmEl.style.width = bodyStyle.width;
hmEl.style.height = bodyStyle.height;
hmEl.style.background = "#3e1852";
hmEl.style.zIndex = "1000";

var hm = document.querySelector(".heatmap");

var heatmap = h337.create({
    container: hm,radius: 40,});

var dbh_x = <?PHP echo $dbh_x;?>; //LIKE THIS->["100","200","300","400","420","500","600","600"];
var dbh_y = <?PHP echo $dbh_y;?>;//LIKE THIS->["100","600"];

for ( var i =0; i< dbh_x.length; i++){
    heatmap.addData({
        x: dbh_x[i],y: dbh_y[i],}); 
};

由于加载时间,我试图改用setData:

var body = document.body;
var bodyStyle = getComputedStyle(body);
var hmEl = document.querySelector(".heatmap-wrapper");



hmEl.style.width = bodyStyle.width;
hmEl.style.height = bodyStyle.height;
hmEl.style.background = "#3e1852";
hmEl.style.zIndex = "1000";

var hm = document.querySelector(".heatmap");

var heatmap = h337.create({
    container: hm,});

heatmap.setData({//This function will show the data kind a fast for 100000+points
    max: 10,//This is the problem
    data: [{ x: 891,y: 50,{ x: 891,...]

});

感谢你们的时间!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)