如何使用代码实现在同一张图中,创建俩个子图,分别画出sinx和cosx在[-3.14,3.14]上的函数图像。设置线条宽度为2.5
时间: 2024-03-19 17:43:28 浏览: 173
你可以使用Matplotlib库来实现此功能,代码如下:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成x轴数据
x = np.linspace(-np.pi, np.pi, 100)
# 创建第一个子图
plt.subplot(2, 1, 1)
plt.plot(x, np.sin(x), linewidth=2.5)
plt.title('sin(x)')
# 创建第二个子图
plt.subplot(2, 1, 2)
plt.plot(x, np.cos(x), linewidth=2.5)
plt.title('cos(x)')
# 显示图像
plt.show()
```
代码中,我们首先使用NumPy库生成了x轴数据,然后使用`plt.subplot()`函数创建了两个子图,分别绘制了sinx和cosx的函数图像。其中,`plt.subplot(2, 1, 1)`表示创建2行1列的子图,当前绘制第1个子图。`plt.plot()`函数用于绘制函数图像,`linewidth`参数用于设置线条宽度。最后,使用`plt.show()`函数显示图像。
相关问题
Matplotib在同一张图中创建两个子图,分别画出sinx和cosx在[-3.14,3.14]上的函数图像,设置线条宽度为2.5
在Matplotlib中,你可以使用`subplots()`函数创建一个新的网格,然后在每个子图上分别绘制`sin(x)`和`cos(x)`。下面是一个示例代码,展示了如何在一个网格中创建并绘制这两个函数:
```python
import numpy as np
import matplotlib.pyplot as plt
# 创建一个两行一列的子图网格
fig, axs = plt.subplots(2, 1, figsize=(6, 8))
# 定义x的范围
x_values = np.linspace(-np.pi, np.pi, 400)
# 函数定义
def sin_cos(x):
return np.sin(x), np.cos(x)
# 绘制sin(x)
axs[0].set_title('sin(x)')
axs[0].plot(x_values, *sin_cos(x_values), linewidth=2.5, linestyle='-')
axs[0].grid(True)
axs[0].set_xlim([-3.14, 3.14])
axs[0].set_xlabel('x')
axs[0].set_ylabel('y')
# 绘制cos(x)
axs[1].set_title('cos(x)')
axs[1].plot(x_values, *sin_cos(x_values), linewidth=2.5, linestyle='--', color='orange') # 更改颜色和虚线样式
axs[1].grid(True)
axs[1].set_xlim([-3.14, 3.14])
axs[1].set_xlabel('x')
# 调整子图间距
fig.tight_layout()
plt.show()
```
在这个例子中,我们首先创建了一个两行一列的子图网格,然后在第一个子图上画`sin(x)`,在第二个子图上画`cos(x)`。注意,为了在同一网格中切换线条风格,我们在第二个子图上更改了线型(`linestyle`)为虚线(`--`)。
请用python程序在同一张图中创建两个子图,分别画出sinx和cosx在[-pi,]上的函数图像。设置线条宽度为3.5
在Python中,我们可以使用matplotlib库来创建子图并绘制函数图像。以下是一个示例程序,它会在一张图上创建两个子图,分别显示sin(x)和cos(x)在`[-π, π]`范围内的图形,并设置线条宽度为3.5:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义x值范围
x = np.linspace(-np.pi, np.pi, 400)
# 函数定义
def sin_cos_graphs():
fig, axs = plt.subplots(2, 1, figsize=(6, 8), sharex=True)
# 创建第一个子图(y=sinx)
axs[0].plot(x, np.sin(x), linewidth=3.5, label='sin(x)')
axs[0].set_ylabel('sin(x)')
axs[0].legend()
# 创建第二个子图(y=cosx)
axs[1].plot(x, np.cos(x), linewidth=3.5, label='cos(x)')
axs[1].set_ylabel('cos(x)')
axs[1].set_xlabel('x')
axs[1].legend()
# 调整间距
fig.tight_layout()
return fig, axs
fig, axs = sin_cos_graphs()
plt.show()
```
在这个例子中,我们首先导入必要的库,然后创建一个包含两个子图的图表,并设置了共享x轴。接着,我们在每个子图上绘制了相应的函数,设置了线条宽度为3.5,还添加了标签和图例。最后展示了整个图形。
阅读全文