我试图弄清楚为什么我的maptlotlib(或底图)热图看起来与转移到小叶heatLayer上的相同图看起来不同。
这是使用以下内容制作的matplotlib热图:
map.pcolormesh(x,y,data,cmap=cmap):
其中数据标准化为0到1:
现在我想通过使用leaflet-heat(下面的代码)将此地图转移到Flask应用程序中,无论我将max参数设置为什么,它都不会像您在matplotlib heat中看到的那样清晰地显示结构地图:
这是我使用Leafet-heat的方式-我尝试将max参数设置为从0.01到1.0的所有参数,但它看起来仍然不像matplotlib热图。
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.4/dist/leaflet.css" integrity="sha512puBpdR0798OZvTTbP4A8Ix/l+A4dHDD0DGqYW6RQ+9jxkRFclaxxQb/SJAWZfWAkuyeQUytO7+7N4QKrDh+drA=="crossorigin=""/>
<script src="https://unpkg.com/leaflet@1.3.4/dist/leaflet.js" integrity="sha512-nMMmRyTVoLYqjP9hrbed9S+FzjZHW5gY1TWCHA5ckwXZBadntCNs8kEqAWdrb9O7rxbCaA4lKTIWjDXZxflOcA=="crossorigin=""></script>
<script src="http://leaflet.github.io/Leaflet.heat/dist/leaflet- heat.js"></script>
[.... DEFINE BASE MAP HERE ...]
fetch("{{ url_for('static',filename=myfile) }}").then(function(response){
return response.text();
}).then(function(text) {
var lines = text.split("\n");
var heatData = [];
for (var i=1; i<lines.length; i++) {
var parts = lines[i].split(",");
if (typeof parts[2] !='undefined') {
heatData.push([parts[1],parts[0],parts[2]]);
}
};
my_heat = L.heatLayer(heatData,{
radius: 6,
blur: 0,
max: 0.3,
opacity: 0.5,
scaleRadius: true,
max_zoom: 20,
gradient: {
'1': 'orange',
'0': 'white',
}
}).addTo(map);
});
任何有关如何使传单热图看起来更像matplotlib的建议将不胜感激!