Matplotlib热图与小叶图层最大值?

时间:2018-10-10 15:31:02

标签: python matplotlib leaflet

我试图弄清楚为什么我的maptlotlib(或底图)热图看起来与转移到小叶heatLayer上的相同图看起来不同。

这是使用以下内容制作的matplotlib热图:

map.pcolormesh(x,y,data,cmap=cmap):

其中数据标准化为0到1:

Matplotlib made heatmap

现在我想通过使用leaflet-heat(下面的代码)将此地图转移到Flask应用程序中,无论我将max参数设置为什么,它都不会像您在matplotlib heat中看到的那样清晰地显示结构地图:

Leaflet-heatmap made heatmap

这是我使用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的建议将不胜感激!

0 个答案:

没有答案