matplotlib.pyplot 波浪图
时间: 2023-07-12 07:40:20 浏览: 53
Matplotlib是Python中一个常用的绘图库,其中pyplot模块提供了类似于MATLAB的绘图接口。下面是使用pyplot绘制波浪图的示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成一组x轴数据
x = np.linspace(0, 5*np.pi, 100)
# 生成两组y轴数据,分别表示两个不同的波浪
y1 = np.sin(x)
y2 = np.cos(x)
# 绘制波浪图
plt.plot(x, y1, 'b-', label='sin')
plt.plot(x, y2, 'r--', label='cos')
plt.legend(loc='upper right')
plt.xlabel('x')
plt.ylabel('y')
plt.title('Waveform Plot')
plt.show()
```
这段代码中,我们使用`linspace`函数生成了一组x轴数据,然后分别生成了两组y轴数据。接着,我们使用`plot`函数绘制了两个波浪,并分别用不同的颜色和线型表示。最后,我们使用`legend`函数添加了图例,使用`xlabel`和`ylabel`函数添加了x轴和y轴的标签,使用`title`函数添加了图表标题,并使用`show`函数显示了图表。执行这段代码,即可得到一张波浪图。
相关问题
核密度估计python代码3D波浪图
以下是一个简单的核密度估计的Python代码,可以生成3D波浪图:
```python
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from scipy.stats import kde
# 生成数据
x = np.random.normal(size=500)
y = np.random.normal(size=500)
z = np.random.normal(size=500)
# 计算核密度估计
density = kde.gaussian_kde([x, y, z])
xgrid, ygrid, zgrid = np.mgrid[min(x):max(x):100j, min(y):max(y):100j, min(z):max(z):100j]
coords = np.vstack([item.ravel() for item in [xgrid, ygrid, zgrid]])
density_values = density(coords).reshape(xgrid.shape)
# 绘制3D波浪图
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(xgrid, ygrid, zgrid, rstride=1, cstride=1, facecolors=plt.cm.viridis(density_values))
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()
```
这段代码首先生成了三个正态分布的随机变量(x、y和z)。然后,使用`gaussian_kde`函数计算核密度估计值,并将其存储在`density_values`中。最后,使用`plot_surface`函数将三维图形绘制出来。
高斯核函数python代码3D可视化波浪图
以下是一个使用高斯核函数生成3D可视化波浪图的Python代码示例:
```python
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 生成网格数据
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)
Z = np.zeros((100, 100))
# 高斯核函数
def gaussian_kernel(x1, y1, x2, y2, sigma=1):
return np.exp(-((x1-x2)**2 + (y1-y2)**2) / (2*sigma**2))
# 计算波浪图
for i in range(100):
for j in range(100):
Z[i,j] = gaussian_kernel(X[i,j], Y[i,j], 0, 0)
# 3D可视化
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X, Y, Z, cmap='viridis')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()
```
运行代码后,将会得到一个高斯核函数生成的波浪图的3D可视化结果。可以根据需要调整参数,如高斯核函数的sigma值,来生成不同形态的波浪图。