matplotlib.axes.axes.hexbin()
matplotlib.axes.axes.hexbin()函数,使用matplotlib库的Axes模块中的Axes.hexbin()函数,制作点x、y的二维六边形对边图。
语法:
Axes.hexbin(self, x, y, C=None, gridsize=100, bins=None, xscale=’linear’, yscale=’linear’, extent=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors=’face’, reduce_C_function=, mincnt=None, marginals=False, *, data=None, **kwargs)
参数:该方法接受如下参数说明:
- x, y:这些参数是数据序列。X和y的长度必须相同。
- C:该参数为箱中累计的值。
- gridsize:该参数表示x方向或两个方向上的六边形数量。
- xscale:该参数在水平轴上使用线性或log10缩放。
- xycale:该参数在垂直轴上使用线性或log10刻度。
- mincnt:该参数用于显示单元格中超过mincnt点数的单元格。
- marginals:该参数用于将边际密度绘制为沿x轴底部和y轴左侧的彩色矩形。
- extent:该参数是容器的限制。
返回如下内容:
- polycollection:返回定义六边形容器的polycollection。
下面的例子演示了matplotlib.axes中的matplotlib.axes.axes.hexbin()函数:
示例1
# Implementation of matplotlib function
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(19680801)
n = 100000
x = np.random.standard_normal(n)
y = 12 * np.random.standard_normal(n)
fig, ax = plt.subplots()
ax.hexbin(x, y, gridsize = 50, cmap ='Greens')
ax.set_title('matplotlib.axes.Axes.hexbin() Example')
plt.show()
输出:
示例2
# Implementation of matplotlib function
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(19680801)
n = 100000
x = np.random.standard_normal(n)
y = 2 * np.random.standard_normal(n)
z =[1, 2, 3, 4]
xmin = x.min()
xmax = x.max()
ymin = y.min()
ymax = y.max()
fig, axs = plt.subplots(ncols = 3,
sharey = True)
ax = axs[0]
hb = ax.hexbin(x, y, gridsize = 50,
bins ='log',
cmap ='BuGn')
ax.set(xlim =(xmin, xmax),
ylim =(ymin, ymax))
cb = fig.colorbar(hb, ax = ax)
cb.set_label('log')
ax = axs[1]
hb = ax.hexbin(x, y, gridsize = 50,
cmap ='Greens')
ax.set(xlim =(xmin, xmax),
ylim =(ymin, ymax))
cb = fig.colorbar(hb, ax = ax)
cb.set_label('Values')
ax.set_title('matplotlib.axes.Axes.\
hexbin() Example')
ax = axs[2]
hb = ax.hexbin(x, y, gridsize = 50,
bins = z, cmap ='BuGn')
ax.set(xlim =(xmin, xmax),
ylim =(ymin, ymax))
cb = fig.colorbar(hb, ax = ax)
cb.set_label(z)
plt.show()
输出: