我正在尝试学习如何使用matplotlib在Python中进行热图.我将基于一系列元组在一个巨大的X,Y网格中绘制一系列位置.我发现这个代码示例给出了我想要做的完美示例.我似乎无法理解它的不同部分是什么意思.最终我想在现有图像的叠加上输出它.谢谢!
没有什么比这复杂了.无论如何,这是一个更简化的版本:
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结果:

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