我想制作一张热图,为此我从googleMap上截取了一张图片,并将其划分为网格,现在,我想根据居住在网格中的人数为特定网格着色。例如,如果在网格7中,5个居民是7k+用红色将其着色。4k到7k,用橙色涂色。小于4k时,用黄色着色。我有没有办法做到这一点。这是一个网络应用程序。谢谢你的建议。
hgqdbh6s1#
如果数据位于二维数组中,如下所示:
data = [ [6323, 9538, 1043, 1023, 4029], [3912, 5921, 4893, 9836, 2994], ... ];
然后,只需循环创建一个大小相同的二维数组,其中包含相关颜色:
colors = [data.length][data[0].length] for (let row = 0; row < data.length; row++) { let colorRow = [] for (let col = 0; col < data[0].length; col++) { if data[row][col] > 7000 { colorRow.append('red'); } else if data[row][col] > 4000 { colorRow.append('orange'); } else { colorRow.append('yellow'); } } colors.append(colorRow);
然后,您可以访问矩阵中任何特定单元格的颜色,并使用该信息执行任何需要的操作:
color = colors[0][2] //returns 'red' for 9538
1条答案
按热度按时间hgqdbh6s1#
如果数据位于二维数组中,如下所示:
然后,只需循环创建一个大小相同的二维数组,其中包含相关颜色:
然后,您可以访问矩阵中任何特定单元格的颜色,并使用该信息执行任何需要的操作: