使用plotly或seaborn创建坐标热图

时间:2018-08-13 13:59:56

标签: python pandas matplotlib seaborn heatmap

我有一个由130,000点组成的数据框,其头部是这样的:

Latitude Longitude 0 36.577570 36.578930 1 36.577634 36.578939 2 36.577574 36.578917 3 36.577639 36.578926 4 36.576966 36.583783

我尝试使用seaborn和matplotlib创建这些点的热图,但是我失败了,我不知道该怎么办。我不需要在现实世界地图上绘制这些点,只需要创建一个常规的热图即可。如果你们能帮助的话,那将是很好的,非常感谢。

1 个答案:

答案 0 :(得分:0)

我使用了可从plotly.js获得的常规“热图”图。我认为在python中也可以使用plotly。我将唯一的纬度用作y维,并将数组的值从90..0 ..- 90排序。我使用经度作为x维,数组的值从-180..0..180排序。然后,应该将热图的实际值存储在第一维为| y |的2D数组中。而第二维是| x |。

请在下面找到最终的JS代码:

var data = [
        {
            x: xvalues_arr,
            y: yvalues_arr,
            z: zvalues_arr,
            type: 'heatmap',
            connectgaps: true,
            hoverongaps: true
        }];
var layout = {
        title: '',
        annotations: [],
        autosize: true,
        margin: {
            l: 0,
            r: 0,
            t: 0,
            b: 0
        },
        hovermode: 'closest',
        xaxis: {
            ticks: '',
            ticksuffix: ' ',
            zeroline: false,
            showline: false,
            showgrid: false,
            showticklabels: false
        },
        yaxis: {
            ticks: '',
            ticksuffix: ' ',
            showticklabels: false,
            zeroline: false,
            showline: false,
            showgrid: false
        }
    };
    var config = {
        'displayModeBar': false,
        'responsive': true
    };

    Plotly.newPlot('world-map-env-data', data, layout, config);