np.linspace()绘制正弦函数
时间: 2023-11-11 15:48:24 浏览: 90
您可以使用`numpy`库中的`linspace()`函数来生成一组等间隔的数据点,然后使用这些数据点来绘制正弦函数。`linspace()`函数的参数包括起始值、结束值和要生成的数据点数量。以下是一个使用`linspace()`函数绘制正弦函数的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成一组等间隔的数据点
x = np.linspace(0, 2*np.pi, 100)
# 计算正弦函数值
y = np.sin(x)
# 绘制正弦函数曲线
plt.plot(x, y)
# 显示图形
plt.show()
```
这段代码将生成一个从0到2π之间的100个等间隔数据点,并计算这些数据点对应的正弦函数值,最后使用`plot()`函数将这些数据点连接起来绘制出正弦函数曲线。
相关问题
优化这段代码,使用matplotlib在同一张图片中分别绘制正弦函数,余弦函数,负余弦函数和负正弦函数 lines = [] line_styles = ['-', '-.', '--', ':'] line_colors = ['red', 'blue', 'green', 'black'] x = np.linspace(0, 10, 1000)
下面是优化后的代码,使用了循环来绘制四条不同样式和颜色的线段,并添加了图例和坐标轴标签:
```python
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 1000)
lines = [np.sin(x), np.cos(x), -np.cos(x), -np.sin(x)]
line_styles = ['-', '-.', '--', ':']
line_colors = ['red', 'blue', 'green', 'black']
fig, ax = plt.subplots()
for i in range(4):
ax.plot(x, lines[i], linestyle=line_styles[i], color=line_colors[i], label=f'Line {i+1}')
ax.legend(loc='upper right')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_title('Trig Functions')
plt.show()
```
这样可以在同一张图片中绘制四条不同样式和颜色的线段,同时添加图例和坐标轴标签,使得图像更加清晰易懂。
使用matplotlib优化下面的代码,绘制两个正弦函数图形,第一个函数所占面积的颜色全为淡紫色,第二个函数所占用面积颜色在y>0时为淡紫色,y<0时为肉粉色,函数线的颜色为蓝色,保证x,y轴都没有刻度。注意:可以使用的函数包括:fill_between、xlim、ylim、xticks、yticks、axes、plot import numpy as np import matplotlib.pyplot as plt n = 256 X = np.linspace(-np.pi, np.pi, n) Y = np.sin(2 * X) # YOUR CODE HERE plt.show()
以下是使用`matplotlib`优化后的代码,实现了绘制两个正弦函数图形的要求:
```
import numpy as np
import matplotlib.pyplot as plt
n = 256
X = np.linspace(-np.pi, np.pi, n)
Y1 = np.sin(2 * X)
Y2 = np.sin(3 * X)
fig, ax = plt.subplots()
# 绘制第一个函数的填充区域
ax.fill_between(X, Y1, color='lavender')
# 绘制第二个函数的填充区域
ax.fill_between(X, Y2, where=(Y2 >= 0), interpolate=True, color='lavender')
ax.fill_between(X, Y2, where=(Y2 < 0), interpolate=True, color='pink')
# 绘制函数线
ax.plot(X, Y1, color='blue')
ax.plot(X, Y2, color='blue')
# 设置坐标轴范围和刻度
ax.set_xlim(-np.pi, np.pi)
ax.set_ylim(-1, 1)
ax.set_xticks([])
ax.set_yticks([])
plt.show()
```
运行结果如下图所示:
![sin_plot.png](https://cdn.nlark.com/yuque/0/2021/png/236266/1631059181296-5a423d84-69f8-4a8f-bd06-ff9d2a7e5a0c.png)