Python 中的轮廓
Contour in Python
在
中如何计算Z
from matplotlib.pyplot import contour
contour([X, Y,] Z, [levels], **kwargs)
画轮廓?
我知道Z
的意思是:绘制等高线的高度值。
但它是通过计算标准差或类似的东西得出的吗?
我得到的每个点之间的平均值?
Z
表示依赖于 X
和 Y
轴的数量。如果X
和Y
表示一个平面,那么Z
可以认为是一个曲面,其点高取决于给定的X
和Y
坐标观点。轮廓是那个表面的"top view",一个投影。一个例子是当经度(X
)和纬度(Y
)变化时报告山脉高度(Z
)的等高线。
正如您所写,matplotlib
的 contour
函数绘制了 Z
变量中表示的值(二维 numpy.ndarray
,如 X
和 Y
) 原样,无需进一步处理。 Z
与 X
和 Y
之间的关系是在 plot 函数之外定义的。
我在下面报告一个例子,也许它可能有用:
# 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()
在
中如何计算Z
from matplotlib.pyplot import contour
contour([X, Y,] Z, [levels], **kwargs)
画轮廓?
我知道Z
的意思是:绘制等高线的高度值。
但它是通过计算标准差或类似的东西得出的吗?
我得到的每个点之间的平均值?
Z
表示依赖于 X
和 Y
轴的数量。如果X
和Y
表示一个平面,那么Z
可以认为是一个曲面,其点高取决于给定的X
和Y
坐标观点。轮廓是那个表面的"top view",一个投影。一个例子是当经度(X
)和纬度(Y
)变化时报告山脉高度(Z
)的等高线。
正如您所写,matplotlib
的 contour
函数绘制了 Z
变量中表示的值(二维 numpy.ndarray
,如 X
和 Y
) 原样,无需进一步处理。 Z
与 X
和 Y
之间的关系是在 plot 函数之外定义的。
我在下面报告一个例子,也许它可能有用:
# 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()