python绘制一个 2*2 的子图,其中第一个子图是函数图,第二个子图是柱状图,第三个子图是绿色的圆形,第四个子图是一张本地图片
时间: 2024-03-19 11:44:33 浏览: 103
python绘制多个子图的实例
好的,以下是一个简单的用Python绘制2x2子图的示例代码,其中包括一个函数图、一个柱状图、一个绿色的圆形和一张本地图片:
```python
import matplotlib.pyplot as plt
import numpy as np
from PIL import Image
# 创建一个2x2的子图
fig, axs = plt.subplots(2, 2, figsize=(8, 8))
# 第一个子图:函数图
x = np.linspace(-10, 10, 100)
y = np.sin(x)
axs[0, 0].plot(x, y)
axs[0, 0].set_title('Function Plot')
# 第二个子图:柱状图
data = [3, 6, 2, 4, 7]
labels = ['A', 'B', 'C', 'D', 'E']
axs[0, 1].bar(labels, data)
axs[0, 1].set_title('Bar Plot')
# 第三个子图:绿色的圆形
circle = plt.Circle((0.5, 0.5), 0.2, color='green')
axs[1, 0].add_artist(circle)
axs[1, 0].set_title('Green Circle')
# 第四个子图:本地图片
img = Image.open('image.png')
axs[1, 1].imshow(img)
axs[1, 1].set_title('Local Image')
# 调整子图之间的间距和整个图像的布局
plt.subplots_adjust(left=0.1, bottom=0.1, right=0.9, top=0.9, wspace=0.4, hspace=0.4)
# 显示图像
plt.show()
```
需要注意的是,第四个子图中的本地图片需要先通过PIL库打开,然后使用imshow()函数显示。
阅读全文