python画出两副正弦函数图,以subplot形式上下放置
时间: 2023-07-28 09:21:24 浏览: 33
好的,以下是代码实现:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成数据
x = np.linspace(0, 2*np.pi, 100)
y1 = np.sin(x)
y2 = np.sin(2*x)
# 绘制图形
plt.subplot(2,1,1) # 上
plt.plot(x, y1)
plt.title('sin(x)')
plt.xlabel('x')
plt.ylabel('y')
plt.subplot(2,1,2) # 下
plt.plot(x, y2)
plt.title('sin(2x)')
plt.xlabel('x')
plt.ylabel('y')
plt.tight_layout() # 自动调整子图间距
plt.show() # 显示图形
```
运行后,会生成一副上下两行的图,上面一幅图为 sin(x),下面一幅图为 sin(2x)。
相关问题
python画激活函数图片
当然可以!以下是使用Python绘制常见的激活函数图像的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义激活函数
def sigmoid(x):
return 1 / (1 + np.exp(-x))
def relu(x):
return np.maximum(0, x)
def tanh(x):
return np.tanh(x)
def softmax(x):
exps = np.exp(x - np.max(x))
return exps / np.sum(exps)
# 定义输入范围
x = np.linspace(-10, 10, 100)
# 计算激活函数输出
y_sigmoid = sigmoid(x)
y_relu = relu(x)
y_tanh = tanh(x)
# 绘制激活函数图像
plt.figure(figsize=(10, 6))
plt.subplot(2, 2, 1)
plt.plot(x, y_sigmoid, label='Sigmoid')
plt.xlabel('x')
plt.ylabel('Sigmoid(x)')
plt.legend()
plt.subplot(2, 2, 2)
plt.plot(x, y_relu, label='ReLU')
plt.xlabel('x')
plt.ylabel('ReLU(x)')
plt.legend()
plt.subplot(2, 2, 3)
plt.plot(x, y_tanh, label='Tanh')
plt.xlabel('x')
plt.ylabel('Tanh(x)')
plt.legend()
plt.tight_layout()
plt.show()
```
这段代码会绘制出Sigmoid、ReLU和Tanh三种常见激活函数的图像。你可以根据需要修改代码中的激活函数或输入范围来绘制其他激活函数的图像。运行代码后,会显示一个包含三个子图的图像窗口,每个子图对应一个激活函数的图像。
python subplot函数
subplot函数是Python中Matplotlib库中的一个函数,用于在一个Figure对象中创建多个子图(Axes)。通过subplot函数,可以将整个图像窗口划分为一个网格,并在指定的位置创建不同的子图。
使用subplot函数的调用形式如下:
subplot(nrows, ncols, index)
其中,nrows和ncols分别表示子图的行数和列数,index表示当前子图的位置。
示例程序中的代码:
```python
import matplotlib.pyplot as plt
if __name__ == '__main__':
for i,color in enumerate("rgby"):
plt.subplot(2, 2, i+1, axisbg=color)
plt.show()
```
这段代码将整个图像窗口划分为2行2列的网格,并在每个位置上创建不同的子图。其中,索引i+1表示当前子图的位置,axisbg参数用于指定子图的背景颜色。