互動式導航
原文: Interactive navigation 譯者: 飛龍 協定: CC BY-NC-SA 4.0
所有圖形視窗都帶有導航工具欄,可用于浏覽資料集。 以下是工具欄底部的每個按鈕的說明:
Home
(首頁)、
Forward
(前進)和
Back
(後退)按鈕:
這些類似于 Web 浏覽器的前進和後退按鈕。 它們用于在之前定義的視圖之間來回浏覽。 它們沒有意義,除非你已經使用平移和縮放按鈕通路了其他地方。 這類似于嘗試在通路新頁面之前單擊 Web 浏覽器上的傳回 - 什麼都不會發生。 首頁總是你第一個浏覽的頁面,以及你的資料的預設視圖。 對于
Home
,
Forward
和
Back
,應該将其看做 Web浏覽器,其中的資料視圖是網頁。 使用
Pan
Zoom
來定義新視圖。
Pan/Zoom
(平移/縮放)按鈕
此按鈕有兩種模式:平移和縮放。 單擊工具欄按鈕激活平移和縮放,然後将滑鼠放在軸域的某個地方。 按住滑鼠左鍵并将其拖動到新位置來平移圖形。 當你釋放它時,你按下的點處的資料将移動到你釋放的點。 如果在平移時按
'x'
或
'y'
,移動會分别限制在
x
y
軸。 按滑鼠右鍵并将其拖動到新位置來進行縮放。 向右移動使
x
軸成比例放大,或者向左移動成比例縮小。
y
軸和上/下移動同上。 開始縮放時滑鼠下的點會保持靜止,你可以縮放圖形中的其它任意點。 你可以使用快捷鍵
'x'
'y'
CONTROL
分别将縮放限制為
x
軸,
y
軸或保留寬高比。
使用極坐标繪圖時,平移和縮放功能的行為不同。 可以使用滑鼠左鍵拖動半徑軸标簽。 可以使用滑鼠右鍵放大和縮小半徑刻度。
Zoom-to-rectangle
(縮放到矩形)按鈕
單擊此工具欄按鈕以激活此模式。 将滑鼠放在軸域的某處,然後按滑鼠左鍵。 在按住按鈕的同時拖動滑鼠到新位置并釋放。 軸域會放大并限制于你定義的矩形。 在此模式中還有一個實驗性的
zoom out to rectangle
(縮小到矩形),使用右鍵,将整個軸域縮小并放置在矩形定義的區域中。
Subplot-configuration
(子圖配置)按鈕
使用此工具配置子圖的參數:左邊距,右邊距,上邊距,下邊距,行間隔和列間隔。
Save
(儲存)按鈕
單擊此按鈕可啟動檔案儲存對話框。 你可以使用以下擴充名儲存檔案:
png
ps
eps
svg
pdf
。
浏覽快捷鍵
下表包含所有預設的快捷鍵,可以使用
matplotlibrc
(
#keymap.*
)覆寫。
指令 | 快捷鍵 |
---|---|
首頁/重置 | 、 |
後退 | 、左箭頭或 |
前進 | 或右箭頭 |
平移/縮放 | |
縮放到矩形 | |
儲存 | |
切換全屏 | |
關閉繪圖 | |
将平移/縮放限制于 軸 | 使用滑鼠平移/縮放時按住 |
| |
保留寬高比 | |
切換網格 | 滑鼠在軸域上時按下 |
切換 軸刻度(對數/線性) | |
| |
如果你使用
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()