https://www.aliyun.com/jiaocheng/516456.html
可以这么理解,meshgrid函数用两个坐标轴上的点在平面上画网格。
用法:
以[X,Y]=meshgrid(x,y)为例,来对该函数进行介绍。
[X,Y] = meshgrid(x,y) 将向量x和y定义的区域转换成矩阵X和Y,其中矩阵X的行向量是向量x的简单复制,而矩阵Y的列向量是向量y的简单复制(注:下面代码中X和Y均是数组,在文中统一称为矩阵了)。
假设x是长度为m的向量,y是长度为n的向量,则最终生成的矩阵X和Y的维度都是 n*m (注意不是m*n)。以下图片就比较好理解了:
- import matplotlib.pyplot as plt
- point = np.arange(-5,5,.1)
- x,y = np.meshgrid(point,point)
- z = np.sin((x**2-y**2)**2 + x*y)
- plt.imshow(z,cmap = plt.cm.gray) #灰度显示,越小越黑
- plt.title("Image plot of $\sin((x^2 - y^2)^2 + x*y)$ for a grid of values")
- plt.show()
-
# -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 10, 1000) y = np.sin(x) z = np.cos(x**2) plt.figure(figsize=(8,4)) plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2) plt.plot(x,z,"b--",label="$cos(x^2)$") plt.xlabel("Time(s)") plt.ylabel("Volt") plt.title("PyPlot First Example") plt.ylim(-1.2,1.2) plt.legend() plt.show()