如何改变子图的大小呢
时间: 2023-09-26 18:13:53 浏览: 69
改变图片大小
在`subplots`函数中,可以使用`figsize`参数来设置整个图形的大小。如果需要改变某个子图的大小,可以使用该子图的`set_position`方法来设置子图的位置和大小。
例如,在一个`2x2`的子图中,我们可以将第一个子图的大小设置为整个图形的一半,并把它放在左上角。代码如下:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建一个 2 行 2 列的子图,整个图的大小为 (8, 6)
fig, axs = plt.subplots(2, 2, figsize=(8, 6), dpi=100, constrained_layout=True)
# 将第一个子图的大小设置为整个图形的一半,并把它放在左上角
axs[0, 0].set_position([0, 0.5, 0.5, 0.5])
# 绘制第一个子图
x = np.linspace(0, 10, 100)
y = np.sin(x)
axs[0, 0].plot(x, y)
axs[0, 0].set_title('Sin(x)')
# 绘制第二个子图
x = np.linspace(0, 10, 100)
y = np.cos(x)
axs[0, 1].plot(x, y)
axs[0, 1].set_title('Cos(x)')
# 绘制第三个子图
x = np.linspace(0, 10, 100)
y = np.tan(x)
axs[1, 0].plot(x, y)
axs[1, 0].set_title('Tan(x)')
# 绘制第四个子图
x = np.linspace(0, 10, 100)
y = np.exp(x)
axs[1, 1].plot(x, y)
axs[1, 1].set_title('Exp(x)')
# 显示图形
plt.show()
```
在上面的代码中,我们使用`set_position`方法来设置第一个子图的位置和大小,其中`[0, 0.5, 0.5, 0.5]`分别表示子图左下角的 x 坐标、y 坐标、宽度和高度,取值范围都在 [0, 1] 之间。需要注意的是,这里的宽度和高度是相对于整个图形的大小进行设置的。
阅读全文