天天看點

Matplotlib 中文使用者指南 7.1 互動式導航互動式導航

互動式導航

原文: Interactive navigation 譯者: 飛龍 協定: CC BY-NC-SA 4.0
Matplotlib 中文使用者指南 7.1 互動式導航互動式導航

所有圖形視窗都帶有導航工具欄,可用于浏覽資料集。 以下是工具欄底部的每個按鈕的說明:

Matplotlib 中文使用者指南 7.1 互動式導航互動式導航

Home

(首頁)、

Forward

(前進)和

Back

(後退)按鈕:

這些類似于 Web 浏覽器的前進和後退按鈕。 它們用于在之前定義的視圖之間來回浏覽。 它們沒有意義,除非你已經使用平移和縮放按鈕通路了其他地方。 這類似于嘗試在通路新頁面之前單擊 Web 浏覽器上的傳回 - 什麼都不會發生。 首頁總是你第一個浏覽的頁面,以及你的資料的預設視圖。 對于

Home

Forward

Back

,應該将其看做 Web浏覽器,其中的資料視圖是網頁。 使用

Pan

Zoom

來定義新視圖。

Matplotlib 中文使用者指南 7.1 互動式導航互動式導航

Pan/Zoom

(平移/縮放)按鈕

此按鈕有兩種模式:平移和縮放。 單擊工具欄按鈕激活平移和縮放,然後将滑鼠放在軸域的某個地方。 按住滑鼠左鍵并将其拖動到新位置來平移圖形。 當你釋放它時,你按下的點處的資料将移動到你釋放的點。 如果在平移時按

'x'

'y'

,移動會分别限制在

x

y

軸。 按滑鼠右鍵并将其拖動到新位置來進行縮放。 向右移動使

x

軸成比例放大,或者向左移動成比例縮小。

y

軸和上/下移動同上。 開始縮放時滑鼠下的點會保持靜止,你可以縮放圖形中的其它任意點。 你可以使用快捷鍵

'x'

'y'

CONTROL

分别将縮放限制為

x

軸,

y

軸或保留寬高比。

使用極坐标繪圖時,平移和縮放功能的行為不同。 可以使用滑鼠左鍵拖動半徑軸标簽。 可以使用滑鼠右鍵放大和縮小半徑刻度。

Matplotlib 中文使用者指南 7.1 互動式導航互動式導航

Zoom-to-rectangle

(縮放到矩形)按鈕

單擊此工具欄按鈕以激活此模式。 将滑鼠放在軸域的某處,然後按滑鼠左鍵。 在按住按鈕的同時拖動滑鼠到新位置并釋放。 軸域會放大并限制于你定義的矩形。 在此模式中還有一個實驗性的

zoom out to rectangle

(縮小到矩形),使用右鍵,将整個軸域縮小并放置在矩形定義的區域中。

Matplotlib 中文使用者指南 7.1 互動式導航互動式導航

Subplot-configuration

(子圖配置)按鈕

使用此工具配置子圖的參數:左邊距,右邊距,上邊距,下邊距,行間隔和列間隔。

Matplotlib 中文使用者指南 7.1 互動式導航互動式導航

Save

(儲存)按鈕

單擊此按鈕可啟動檔案儲存對話框。 你可以使用以下擴充名儲存檔案:

png

ps

eps

svg

pdf

浏覽快捷鍵

下表包含所有預設的快捷鍵,可以使用

matplotlibrc

#keymap.*

)覆寫。

指令 快捷鍵
首頁/重置

h

r

home

後退

c

、左箭頭或

backspace

前進

v

或右箭頭
平移/縮放

p

縮放到矩形

o

儲存

ctrl + s

切換全屏

ctrl + f

關閉繪圖

ctrl + w

将平移/縮放限制于

x

使用滑鼠平移/縮放時按住

x

y

y

保留寬高比

CONTROL

切換網格 滑鼠在軸域上時按下

g

切換

x

軸刻度(對數/線性)

L

k

y

l

如果你使用

matplotlib.pyplot

,則會為每個圖形自動建立工具欄。 如果你正在編寫自己的使用者界面代碼,則可以将工具欄添加為視窗小部件。 确切的文法取決于你的 UI,但在`matplotlib/examples/user_interfaces目錄中有每個受支援的 UI 的示例。 這裡是一些 GTK 的示例代碼:

import gtk

from matplotlib.figure import Figure
from matplotlib.backends.backend_gtkagg import FigureCanvasGTKAgg as FigureCanvas
from matplotlib.backends.backend_gtkagg import NavigationToolbar2GTKAgg as NavigationToolbar

win = gtk.Window()
win.connect("destroy", lambda x: gtk.main_quit())
win.set_default_size(400,300)
win.set_title("Embedding in GTK")

vbox = gtk.VBox()
win.add(vbox)

fig = Figure(figsize=(5,4), dpi=100)
ax = fig.add_subplot(111)
ax.plot([1,2,3])

canvas = FigureCanvas(fig)  # a gtk.DrawingArea
vbox.pack_start(canvas)
toolbar = NavigationToolbar(canvas, win)
vbox.pack_start(toolbar, False, False)

win.show_all()
gtk.main()