使用子图绘制y = x**2和y = sqrt(x)的图形
时间: 2024-09-20 14:18:00 浏览: 38
Matlab绘制曲线 (2).docx
要在同一个Matplotlib图像中使用子图(Subplots)同时绘制y = x^2 和 y = √x 的曲线,你可以这样做:
```python
import matplotlib.pyplot as plt
import numpy as np
from math import sqrt
fig, axs = plt.subplots(1, 2, figsize=(10, 5)) # 创建一个包含两个子图的网格
# 第一个子图绘制y=x^2
x_range = np.linspace(-10, 10, 400)
axs[0].set_title('y = x^2')
axs[0].plot(x_range, x_range ** 2, label='y=x^2', color='blue')
axs[0].legend()
# 第二个子图绘制y=sqrt(x)
axs[1].set_title('y = √x')
axs[1].plot(x_range, np.sqrt(x_range), linestyle='--', label='y=sqrt(x)', color='green')
axs[1].legend()
# 调整子图之间的间距和共享x轴
plt.setp(axs, xlim=(-10, 10), ylim=(-1, 10), xticks=np.arange(-10, 11))
axs[0].sharex(axs[1])
plt.tight_layout() # 美化布局,防止子图之间重叠
plt.show()
```
这个代码首先创建了一个包含两个子图的网格,分别绘制了y=x^2 和 y=sqrt(x),并设置了各自标题。每个子图都有自己的颜色和线型,并显示了相应的图例。
阅读全文