考察知识点:add axes0 绘制多子图 使用 add_axex0方式,按如下要求绘制两个子图。 需要满足以下条件: 1.绘制两个子图,一个在左上角,一个在右下角 2.为每个子图图表设置中文表名。 3.为每个子图图表设置线条样式,样式自选 4.为每个子图图表设置线条上点形状,形状自选 5.为每个子图图表修改线上点大小,大小自选 6.为每个子图图表设置线条颜色,颜色自选 7.为每个子图图表设置网格线。 8.为每个子图图表设罝图例
时间: 2023-12-03 11:42:26 浏览: 71
Python使用add_subplot与subplot画子图操作示例
以下是代码示例:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成数据
x = np.arange(0, 10, 0.1)
y1 = np.sin(x)
y2 = np.cos(x)
# 创建画布和子图
fig = plt.figure(figsize=(10, 6))
ax1 = fig.add_axes([0.1, 0.5, 0.4, 0.4]) # 左上角子图
ax2 = fig.add_axes([0.6, 0.1, 0.4, 0.4]) # 右下角子图
# 绘制左上角子图
ax1.set_title('正弦曲线') # 设置标题
ax1.plot(x, y1, linestyle='--', marker='o', markersize=5, color='blue') # 绘制曲线
ax1.grid(True) # 设置网格线
ax1.legend(['sin(x)']) # 设置图例
# 绘制右下角子图
ax2.set_title('余弦曲线') # 设置标题
ax2.plot(x, y2, linestyle='-', marker='s', markersize=7, color='red') # 绘制曲线
ax2.grid(True) # 设置网格线
ax2.legend(['cos(x)']) # 设置图例
plt.show()
```
解释一下代码:
首先,我们需要生成数据,这里使用 numpy 库的 arange 函数生成从 0 到 10 的连续数列,并以 0.1 为步长。然后,使用 np.sin 和 np.cos 函数计算出正弦曲线和余弦曲线上的点。
接着,我们创建一个大小为 10x6 的画布,并使用 add_axes 函数在画布上添加两个子图。其中,左上角子图的坐标为 [0.1, 0.5, 0.4, 0.4],表示从左侧距离为 0.1,从底部距离为 0.5,宽度为 0.4,高度为 0.4;右下角子图的坐标为 [0.6, 0.1, 0.4, 0.4],表示从左侧距离为 0.6,从底部距离为 0.1,宽度为 0.4,高度为 0.4。
接下来,我们分别对每个子图进行设置。对于左上角子图,我们设置标题为“正弦曲线”,使用 plot 函数绘制曲线,并设置线条样式为虚线,点形状为圆形,点大小为 5,颜色为蓝色。然后,我们使用 grid 函数设置网格线,使用 legend 函数设置图例为“sin(x)”。
对于右下角子图,我们设置标题为“余弦曲线”,使用 plot 函数绘制曲线,并设置线条样式为实线,点形状为正方形,点大小为 7,颜色为红色。然后,我们使用 grid 函数设置网格线,使用 legend 函数设置图例为“cos(x)”。
最后,我们使用 show 函数显示图像。
阅读全文