利用NumPy、MatPlotLib库绘图,要求画布像素1200*900,子图布局为3行2列,各子图添加标题(内容为子图类型及姓名,如“张三折线图”),添加x、y轴名称,及图例,题中n为学号后两位。文件名为:完整学号_姓名_3_4.py。 (1)子图1为折线图,绘制y=sin(x), y=cos(x)两个函数的图像,x取值范围[-n*PI, n*PI],前者线条为红色短虚线,后者为绿色点线。
时间: 2024-03-21 21:41:20 浏览: 141
好的,以下是代码实现:
```python
import numpy as np
import matplotlib.pyplot as plt
# 设置画布像素1200*900
plt.figure(figsize=(12, 9))
# 子图布局为3行2列,各子图添加标题、x、y轴名称,及图例
plt.subplot(321)
plt.title("折线图_张三")
plt.xlabel("x")
plt.ylabel("y")
plt.xlim(-np.pi*2, np.pi*2)
plt.ylim(-1.2, 1.2)
x = np.linspace(-np.pi*2, np.pi*2, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x, y1, color='r', linestyle='--', label='y=sin(x)')
plt.plot(x, y2, color='g', linestyle=':', label='y=cos(x)')
plt.legend(loc='upper left')
# 保存图片
plt.savefig('完整学号_姓名_3_4.py')
```
注意,这里我使用了 `np.linspace` 函数来生成 `x` 值,使得 `y=sin(x)` 和 `y=cos(x)` 在同一张图上展示,并且它们的 `x` 取值范围相同。同时,为了使得图像更加美观,我设置了 `x` 和 `y` 轴的刻度范围,并且给每个子图添加了标题、轴名称和图例。
相关问题
利用numpy和matplotlib
利用numpy和matplotlib可以进行科学计算和数据可视化。
numpy是Python中用于科学计算的一个重要库,它提供了高效的数组操作和数学函数,可以进行向量化计算,大大提高了计算效率。
matplotlib是Python中用于数据可视化的一个重要库,它提供了各种绘图函数和工具,可以绘制各种类型的图表,包括线图、散点图、柱状图、饼图等。
利用numpy和matplotlib,我们可以进行各种数据分析和可视化,例如绘制数据分布图、绘制趋势图、绘制统计图等,可以帮助我们更好地理解数据和发现数据中的规律。
jupyter notebook中,第一步使用numpy库和matplotlib.pyplot库读取人口数据,数据文件populations.npz文件在D盘目录下,第二步创建画布,添加子图,在子图上绘制散点图和折线图,并保存,请给出对应步骤的代码
以下是对应步骤的代码:
```python
# 第一步:使用numpy库和matplotlib.pyplot库读取人口数据
import numpy as np
import matplotlib.pyplot as plt
data = np.load('D:/populations.npz') # 读取数据文件
data = data['data'] # 获取数据
# 第二步:创建画布,添加子图,在子图上绘制散点图和折线图,并保存
fig, ax = plt.subplots(figsize=(8, 6)) # 创建画布和子图
# 绘制散点图
ax.scatter(data[:, 0], data[:, 1], color='b', label='City 1')
ax.scatter(data[:, 0], data[:, 2], color='r', label='City 2')
ax.scatter(data[:, 0], data[:, 3], color='g', label='City 3')
# 绘制折线图
ax.plot(data[:, 0], data[:, 1], color='b', linestyle='--')
ax.plot(data[:, 0], data[:, 2], color='r', linestyle='-.')
ax.plot(data[:, 0], data[:, 3], color='g', linestyle='-')
# 添加标签和图例
ax.set_title('Population Growth')
ax.set_xlabel('Year')
ax.set_ylabel('Population')
ax.legend()
# 保存图片
plt.savefig('population.png')
```
注意:代码中的数据文件路径需要根据自己的实际情况进行修改。
阅读全文