是否有使用Matplotlib创建hexbin热图的教程?

Ale*_*ler 2 python matplotlib

我正在尝试学习如何使用matplotlib在Python中进行热图.我将基于一系列元组在一个巨大的X,Y网格中绘制一系列位置.我发现这个代码示例给出了我想要做的完美示例.我似乎无法理解它的不同部分是什么意思.最终我想在现有图像的叠加上输出它.谢谢!

Dev*_*per 9

没有什么比这复杂了.无论如何,这是一个更简化的版本:

import pylab as pl
import numpy as np

n = 300                                     #number of sample data
x,y = np.random.rand(2,n)                   #generate random sample locations

pl.subplot(121)                             #sub-plot area 1 out of 2
pl.scatter(x,y,lw=0,c='k')                  #darw sample points
pl.axis('image')                            #necessary for correct aspect ratio

pl.subplot(122)                             #sub-plot area 2 out of 2

pl.hexbin(x,y,C=None,gridsize=15,bins=None,mincnt=1)        #hexbinning

pl.scatter(x,y,lw=0.5,c='k',edgecolor='w')  #overlaying the sample points
pl.axis('image')                            #necessary for correct aspect ratio

pl.show()                                   #to show the plot
Run Code Online (Sandbox Code Playgroud)

样品点数:
样本点

Hexbin结果:
bexbin

请注意,mincnt=1避免为空单元格绘制六边形.深红色的六边形单元内部有更多的采样点(此处为5).深蓝色六边形内部只有一个样本.