问题描述
我保存了一些数据,并且数据量巨大,数据库中保存了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 (将#修改为@)