如何计算Z
contour([X, Y,] Z, [levels], **kwargs)
绘制轮廓?
我知道Z
的意思是:绘制轮廓的高度值。
但是是通过计算标准偏差还是类似的方法得出?
我在每个点之间的平均值?
Z
表示同时取决于X
和Y
的数量。如果X
和Y
表示一个平面,则Z
可以视为一个表面,其点高取决于该给定点的X
和Y
坐标。轮廓是该表面的“顶视图”,即投影。例如,等高线会报告山峰(Z
)和经度(X
)和纬度(Y
)的变化的高度。如您所写,contour
的matplotlib
函数将按原样绘制Z
变量(二维numpy.ndarray
,分别为X
和Y
)中表示的值,而无需进一步处理。 Z
与X
和Y
之间的关系在绘图函数之外定义。我在下面报告一个示例,也许可能有用:
# IMPORT
import numpy as np
import matplotlib.pyplot as pl
# INPUT
N = 100
x_min = 0
x_max = 10
y_min = 0
y_max = 10
z_min = 0
z_max = 50
z_step = 1
red = '#de7677'
# DEFINE MESH GRID
x = np.linspace(x_min, x_max, N)
y = np.linspace(y_min, y_max, N)
XX, YY = np.meshgrid(x, y)
# CALCULATE ZZ AS A FUNCTION OF XX AND YY, FOR ESAMPLE, THEIR SUM
ZZ = YY + XX
# PLOT THE CONTOUR
fig, ax = pl.subplots(figsize = (10, 10))
cont = ax.contour(XX,
YY,
ZZ,
levels = np.arange(z_min, z_max + z_step, z_step),
colors = red)
# SET THE CONTOUR LABELS
pl.clabel(cont, fmt = '%d')
# SET THE X AND Y LABEL
ax.set_xlabel('X')
ax.set_ylabel('Y')
pl.show()