matplotlib.pyplot.pcolor()函数
Matplotlib是用于数据可视化的著名Python包。Numpy是Matplotlib的数值数学扩展。Matplotlib能够生成高质量的图形、图表和图形。John D. Hunter是Matplotlib的最初开发者,它是在bsd风格的许可下发布的。
matplotlib.pyplot.pcolor()
Matplotlib包含许多帮助执行不同任务的函数,其中之一是Matplotlib .pyplot.pcolor()函数。Matplotlib库的pyplot模块中的pcolor()函数帮助创建带有非规则矩形网格的伪颜色图。
语法:
matplotlib.pyplot.pcolor(\*args, alpha=None, norm=None, cmap=None, vmin=None, vmax=None, data=None, **kwargs)
调用签名:pcolor([X, Y,] C, **kwargs)
参数:
C:表示标量二维数组
X, Y: array_like,可选,四边形角的坐标
cmap:可选的str或Colormap
norm:规范化、可选的
Vmin、vmax:伸缩器,可选
edgecolors: {‘ none ‘,None,’ face ‘, color sequence},可选
alpha:标量,可选的
snap:bool,可选
其他参数:
antialiaseds:bool,可选
**kwargs
- 该函数返回一个集合i.e matplotlib.collections.Collection
注意:对于更大的数组,matplotlib.pyplot.pcolor()的工作速度非常慢。
下面的例子演示了matplotlib.pyplot.pcolor()函数的工作原理:
示例1
使用pcolor()函数生成图像
在pcolor()函数的帮助下,我们可以生成二维图像样式的plot,如下图所示
# Demonstration of matplotlib function
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.colors import LogNorm
Z = np.random.rand(4, 12)
fig, (ax0, ax1) = plt.subplots(2, 1)
c = ax0.pcolor(Z)
ax0.set_title('No edge image')
c = ax1.pcolor(Z, edgecolors='k', linewidths=5)
ax1.set_title('Thick edges image')
fig.tight_layout()
plt.show()
输出:
示例2
在Log尺度下使用pcolor()
# Demonstration of matplotlib function
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.colors import LogNorm
N = 100
X, Y = np.mgrid[-4:4:complex(0, N), -4:4:complex(0, N)]
# Image show that a low hump with a spike coming out.
# We need a z/colour axis on a log scale in order
# to watch both hump and spike.
Z1 = np.exp(-(X)**2 - (Y)**2)
Z2 = np.exp(-(X * 10)**2 - (Y * 10)**2)
Z = Z1 + 50 * Z2
fig, (ax0, ax1) = plt.subplots(2, 1)
c = ax0.pcolor(X, Y, Z,norm=LogNorm(vmin=Z.min(), vmax=Z.max()), cmap=plt.cm.autumn)
fig.colorbar(c, ax=ax0)
c = ax1.pcolor(X, Y, Z, cmap=plt.cm.autumn)
fig.colorbar(c, ax=ax1)
plt.show()
输出: