1. 程式人生 > >圖中圖

圖中圖

初始 com left label 技術 bottom fig ima ron

1、數據

# 導入pyplot模塊
import matplotlib.pyplot as plt

# 初始化figure
fig = plt.figure()

# 創建數據
x = [1, 2, 3, 4, 5, 6, 7]
y = [1, 3, 4, 2, 5, 8, 6]

2、大圖

接著,繪制大圖。首先確定大圖左下角的位置以及寬高:

left, bottom, width, height = 0.1, 0.1, 0.8, 0.8

註意,4個值都是占整個figure坐標系的百分比。在這裏,假設figure的大小是10x10,那麽大圖就被包含在由(1, 1)開始,寬8,高8的坐標系內。

將大圖坐標系添加到figure

中,顏色為r(red),取名為title:

ax1 = fig.add_axes([left, bottom, width, height])
ax1.plot(x, y, r)
ax1.set_xlabel(x)
ax1.set_ylabel(y)
ax1.set_title(title)

技術分享圖片

3、小圖

接著,繪制左上角的小圖,步驟和繪制大圖一樣,註意坐標系位置和大小的改變:

left, bottom, width, height = 0.2, 0.6, 0.25, 0.25
ax2 = fig.add_axes([left, bottom, width, height])
ax2.plot(y, x, 
b) ax2.set_xlabel(x) ax2.set_ylabel(y) ax2.set_title(title inside 1)

技術分享圖片

最後,我們來繪制右下角的小圖。這裏我們采用一種更簡單方法,即直接往plt裏添加新的坐標系:

plt.axes([0.6, 0.2, 0.25, 0.25])
plt.plot(y[::-1], x, g) # 註意對y進行了逆序處理
plt.xlabel(x)
plt.ylabel(y)
plt.title(title inside 2)

技術分享圖片

圖中圖