成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > python matplotlib工具欄源碼探析三之添加、刪除自定義工具項的案例詳解

python matplotlib工具欄源碼探析三之添加、刪除自定義工具項的案例詳解

熱門標簽:螳螂科技外呼系統(tǒng)怎么用 qt百度地圖標注 地圖地圖標注有嘆號 400電話申請資格 正安縣地圖標注app 電銷機器人系統(tǒng)廠家鄭州 阿里電話機器人對話 遼寧智能外呼系統(tǒng)需要多少錢 舉辦過冬奧會的城市地圖標注

matplotlib工具欄源碼探析二(添加、刪除內(nèi)置工具項)探討了工具欄內(nèi)置工具項的管理,除了內(nèi)置工具項,很多場景中需要自定義工具項,官方給出了案例https://matplotlib.org/gallery/user_interfaces/toolmanager_sgskip.html,主要基于matplotlib.backend_managers.ToolManager類實現(xiàn),即使用工具欄管理器模式。

官方案例解析

下面對官方案例關(guān)鍵點做注釋說明。

import matplotlib.pyplot as plt
# 設(shè)置工具欄使用工具欄管理器模式
plt.rcParams['toolbar'] = 'toolmanager'
# 導入工具項的基類ToolBase和ToolToggleBase
from matplotlib.backend_tools import ToolBase, ToolToggleBase

# 因為工具項必須以類的形式添加,所以創(chuàng)建自定義基本工具項類,基類為ToolBase
class ListTools(ToolBase):
 # 該工具項的功能為列出工具欄管理器管理的所有工具項
 """List all the tools controlled by the `ToolManager`."""
 # 設(shè)置默認快捷鍵和工具項描述
 default_keymap = 'm'
 description = 'List Tools'
 
 # 定義工具項被觸發(fā)時的動作
 def trigger(self, *args, **kwargs):
  print('_' * 80)
  print("{0:12} {1:45} {2}".format(
   'Name (id)', 'Tool description', 'Keymap'))
  print('-' * 80)
  # 獲取工具欄管理器管理的所有工具項
  tools = self.toolmanager.tools
  # 輸出各個工具項
  for name in sorted(tools):
   if not tools[name].description:
    continue
   keys = ', '.join(sorted(self.toolmanager.get_tool_keymap(name)))
   print("{0:12} {1:45} {2}".format(
    name, tools[name].description, keys))
  print('_' * 80)
  print("Active Toggle tools")
  print("{0:12} {1:45}".format("Group", "Active"))
  print('-' * 80)
  for group, active in self.toolmanager.active_toggle.items():
   print("{0:12} {1:45}".format(str(group), str(active)))

# 基于ToolToggleBase創(chuàng)建自定義切換式工具項,切換式工具項在觸發(fā)時會在生效和失效兩種狀態(tài)之間切換
class GroupHideTool(ToolToggleBase):
 # 該工具項的功能為根據(jù)分組切換顯示/隱藏數(shù)據(jù)元素
 """Show lines with a given gid."""
 # 設(shè)置默認快捷鍵和工具項描述
 default_keymap = 'G'
 description = 'Show by gid'
 default_toggled = True
 
 # 構(gòu)造函數(shù)的參數(shù)gid為數(shù)據(jù)元素的分組
 def __init__(self, *args, gid, **kwargs):
  self.gid = gid
  super().__init__(*args, **kwargs)
 # 定義工具項生效時的方法
 def enable(self, *args):
  self.set_lines_visibility(True)
 # 定義工具項失效時的方法
 def disable(self, *args):
  self.set_lines_visibility(False)

 def set_lines_visibility(self, state):
  for ax in self.figure.get_axes():
   for line in ax.get_lines():
    if line.get_gid() == self.gid:
     line.set_visible(state)
  # 注意!在圖像生成之后,修改圖像中的元素必須重繪
  self.figure.canvas.draw()


fig = plt.figure()
# 注意通過gid屬性可以為數(shù)據(jù)元素分組
plt.plot([1, 2, 3], gid='mygroup')
plt.plot([2, 3, 4], gid='unknown')
plt.plot([3, 2, 1], gid='mygroup')

# 將自定義的工具項添加添加到工具欄管理器,格式為 工具項名稱 工具項類 其他參數(shù)
fig.canvas.manager.toolmanager.add_tool('List', ListTools)
fig.canvas.manager.toolmanager.add_tool('Show', GroupHideTool, gid='mygroup')

# 可以反復(fù)添加已存在的工具項
# Add an existing tool to new group `foo`.
# It can be added as many times as we want
fig.canvas.manager.toolbar.add_tool('zoom', 'foo')

# 刪除工具項
# Remove the forward button
fig.canvas.manager.toolmanager.remove_tool('forward')

# 新添加到工具欄管理器的工具項還不能直接使用,需要通過toolbar對象添加到當前工具欄
# 如果不將自定義的工具項添加到工具欄管理器,直接使用toolbar對象添加則會報錯
# 將自定義的工具項Show添加到內(nèi)置的navigation組的特定位置(即組內(nèi)第2個位置)
# To add a custom tool to the toolbar at specific location inside
# the navigation group
fig.canvas.manager.toolbar.add_tool('Show', 'navigation', 1)
#fig.canvas.manager.toolbar.add_tool('List', 'navigation', 2)
plt.show()

官方案例運行結(jié)果

運行后自定義的Show按鈕處于生效狀態(tài),3條線全部顯示。

點擊Show按鈕,使之處理失效狀態(tài),mygroup組的兩條線不再顯示。

由于案例中僅將List工具項添加到工具欄管理器,但是沒有添加到工具欄中,因此List工具項未在工具欄中顯示。但是List工具項的快捷鍵m是生效的,在界面上按快捷鍵m,控制臺輸出以下信息。

________________________________________________________________________________
Name (id) Tool description        Keymap
--------------------------------------------------------------------------------
List   List Tools         m
Show   Show by gid         G
allnav  Enable all axes toolmanager     a
back   Back to previous view       MouseButton.BACK, backspace, c, left
copy   Copy the canvas figure to clipboard   cmd+c, ctrl+c
fullscreen Toggle fullscreen mode      ctrl+f, f
grid   Toggle major grids       g
grid_minor Toggle major and minor grids
help   Print tool list, shortcuts and description f1
home   Reset original view       h, home, r
nav   Enable one axes toolmanager     1, 2, 3, 4, 5, 6, 7, 8, 9
pan   Pan axes with left mouse, zoom with right  p
quit   Quit the figure        cmd+w, ctrl+w, q
quit_all  Quit all figures
save   Save the figure        ctrl+s, s
subplots  Configure subplots
xscale  Toggle scale X axis       L, k
yscale  Toggle scale Y axis       l
zoom   Zoom to rectangle        o
________________________________________________________________________________
Active Toggle tools
Group  Active
--------------------------------------------------------------------------------
default  None
None   {'Show'}

總結(jié)

matplotlib支持兩種工具項:基本工具項(基類ToolBase)和切換式工具項(基類ToolToggleBase)。
基本工具項需要注意定義trigger方法,即工具項被觸發(fā)時的動作。
切換式工具項需要注意定義enabledisable方法,即生效和失效兩種狀態(tài)的動作,如方法定義中牽扯到修改圖像,需要注意重繪圖像。
注意添加自定義工具項的流程!先將自定義的工具項添加到工具欄管理器,然后再添加到當前工具欄!內(nèi)置工具項之所以不用添加到工具欄管理器是因為它們本身就已經(jīng)添加在工具欄管理器!

到此這篇關(guān)于matplotlib工具欄源碼探析三之添加、刪除自定義工具項的文章就介紹到這了,更多相關(guān)matplotlib工具欄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python判斷圖片寬度和高度后刪除圖片的方法
  • Python列表刪除重復(fù)元素與圖像相似度判斷及刪除實例代碼
  • 使用python如何刪除同一文件夾下相似的圖片
  • python matplotlib繪圖實現(xiàn)刪除重復(fù)冗余圖例的操作
  • python3 刪除所有自定義變量的操作
  • python刪除csv文件的行列
  • python讀寫刪除復(fù)制文件操作方法詳細實例總結(jié)
  • Python 有可能刪除 GIL 嗎?
  • Python中刪除文件的幾種方法實例
  • 詳解Python遍歷列表時刪除元素的正確做法
  • Python列表元素刪除和remove()方法詳解
  • 教你怎么用python刪除相似度高的圖片

標簽:信陽 阜新 昭通 濟源 合肥 淘寶好評回訪 隨州 興安盟

巨人網(wǎng)絡(luò)通訊聲明:本文標題《python matplotlib工具欄源碼探析三之添加、刪除自定義工具項的案例詳解》,本文關(guān)鍵詞  python,matplotlib,工具欄,源碼,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python matplotlib工具欄源碼探析三之添加、刪除自定義工具項的案例詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于python matplotlib工具欄源碼探析三之添加、刪除自定義工具項的案例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    四虎成人精品在永久在线观看| 久久夜色精品国产欧美乱极品| 91九色在线看| 青娱乐91视频| 欧美成人自拍| 久久伊人91精品综合网站| 永久免费看片在线观看| 国产精品自偷自拍| 性视频一区二区三区| 亚洲全部视频| 91天堂在线视频| 久久亚洲国产中v天仙www| 午夜av电影| 国产真实精品久久二三区| 久久夜夜久久| 欧美日韩国产首页| 欧美日韩视频在线观看一区二区三区| 亚洲成人三区| 中文字幕在线播放av| a视频免费看| 中文有码一区| 夜夜嗨av一区二区三区网站四季av| www.99热.com| 亚洲国产另类 国产精品国产免费| 欧美变态另类刺激| 欧美精品一区二区三区四区| 日本一区二区免费看| 日本强好片久久久久久aaa| 亚洲人成在线观看网站高清| 无码人妻丰满熟妇区毛片18| 亚洲一区二区三区加勒比| 中文字幕在线永久在线视频| 中文字幕在线免费不卡| 色素色在线综合| 国产精品国模大尺度私拍| 欧美性高潮床叫视频| 亚洲色图在线观看| 亚洲bbw性色大片| av一二三不卡影片| 日韩精品免费视频一区二区三区| www.久久网| 久久久久久成人| 91视频论坛| 亚洲制服丝袜在线播放| 亚洲 精品 综合 精品 自拍| 美腿丝袜亚洲一区| 日韩精品卡一| 国产91国语对白在线| 国产成人精品一区二区在线小狼| 亚洲午夜伦理| 国产美女主播在线播放| 国产精选久久久| 亚洲精品手机在线观看| 国产亚洲精久久久久久| 影视先锋av资源站| 激情视频亚洲| 51成人精品网站| 亚洲天堂av一区二区三区| 欧美三级午夜理伦三级老人| 日韩免费av网站| 亚洲九九视频| 亚洲免费视频播放| av无码精品一区二区三区| 无码人妻丰满熟妇精品区| 日韩大片免费在线观看| 国产99久久精品一区二区| 久久国产精品高清| 九色蝌蚪性视频| 亚洲区精品久久一区二区三区| youjizz国产精品| 久久婷婷综合中文字幕| 先锋影音av在线资源| 秋霞久久久久久一区二区| 日韩欧美在线一区二区| 在线成人av观看| 欧美亚洲爱爱另类综合| 超碰精品一区二区三区乱码| 国产精品国产自产拍高清av| 妞干网视频在线观看| 国产精品成人一区二区三区吃奶| 99视频资源网| 精品国产av 无码一区二区三区| 少妇精品高潮欲妇又嫩中文字幕| 午夜视频在线免费| 999热视频| www男人的天堂| 亚洲欧美中文字幕在线观看| 亚洲第一在线综合网站| 亚洲精品三区| 精品国产www| 国产精品夜夜夜一区二区三区尤| 色综久久综合桃花网| 日韩成人久久| 久久久久成人网| 精品国产国产综合精品| 国产人妻大战黑人20p| 日韩精品在线免费视频| 亚洲新中文字幕| 中文字幕精品—区二区日日骚| 午夜久久tv| 欧美蜜桃一区二区三区| 国产精品久久久久一区| 欧美色图中文字幕| 欧洲精品视频在线| 日本成人黄色网址| 中文字幕日韩视频| 尤物tv在线精品| 欧美日韩国产系列| 亚洲一区二区三区四区| 欧美激情欧美激情在线五月| 天天精品视频| 亚洲精品一二三区区别| www.操.com| 久久人妻无码一区二区| 国产在线一区二| 国产精品免费观看视频| 国产91精品一区二区| www.在线欧美| 熟女性饥渴一区二区三区| 91精品久久久久久综合乱菊| 国产原创在线播放| 一个色在线综合| 亚洲乱亚洲高清| 欧美男体视频| 农民人伦一区二区三区| 亚洲男同1069视频| 日韩欧美美女一区二区三区| www高清在线视频日韩欧美| 日韩黄色免费电影| av网站在线免费看| 美女视频黄a视频全免费观看| 影音先锋亚洲一区| 国产高清精品一区二区三区| 中文字幕观看av| 可以在线观看的av| 久久这里只有精品9| 99久久综合精品| 国产精品亚洲自拍| 五月婷婷欧美视频| 亚洲国产成人在人网站天堂| 欧美日韩精品区别| 夜夜爽视频导航| 久久一区二区三区四区五区| 无码国产精品一区二区色情男同| 国产成人精品999| 国产香蕉精品视频一区二区三区| 91视频最新入口| 中文字幕一区二区三区四区五区六区| 亚洲一区二区精品视频| 手机看片1024国产| 曰本色欧美视频在线| 久久婷婷亚洲| 高清hd写真福利在线播放| 草草地址线路①屁屁影院成人| 特黄aaaaaaaaa真人毛片| 婷婷精品在线| 久久精品国产一区二区三区肥胖| 国产xxxxx| 在线观看中文字幕的网站| 天天做夜夜做人人爱精品| 久久久久久久伊人| 韩国精品主播一区二区在线观看| 精品一区日韩成人| 亚洲美女免费精品视频在线观看| 日韩中文一区二区三区| 香蕉久久a毛片| 久久久久亚洲精品中文字幕| www.91精品| 天天夜碰日日摸日日澡| xxav视频| 日韩国产在线播放| 欧美日韩国产综合视频在线| 欧美va亚洲va| 精品一区二区三| 亚洲激情免费视频| 欧美精品三级| 免费无码毛片一区二三区| 日产精品久久久一区二区福利| 久久精品亚洲乱码伦伦中文| 欧美精品一区二区三区四区| 亚洲福利影视| 亚洲激情图片小说视频| 日韩精品视频在线看| 四虎成人精品在永久在线观看| 91在线看国产| 国内精品美女在线观看| av综合网页| 在线免费观看黄| 尤物网在线观看| 欧美在线xxxx| 欧美精品日日鲁夜夜添| 国产婷婷成人久久av免费高清| 成人444kkkk在线观看| 亚洲网友自拍偷拍| 四虎影院成人在线观看| 九九热线视频只有这里最精品| 日韩中文字幕久久| 朝桐光一区二区| 草草影院在线| 欧美成人免费一级人片100| 日av在线播放| 国产精品电影一区| 久久久久久久激情| 正在播放木下凛凛xv99| 人妻少妇精品无码专区二区| 国产综合无码一区二区色蜜蜜| 蜜桃av中文字幕| 成人精品电影在线观看| 国产精品视频免费| 成人一级片网站| 亚洲成av人片在线观看香蕉| 黄色美女网站在线观看| 欧美日韩久久精品| 亚洲自拍偷拍另类| 国产亚洲一区二区三区在线播放| 尤物视频网址| 精品视频—区二区三区免费| 欧美日韩精品一区二区三区四区| 91精选福利| 欧美黄色一级片视频| 风间由美性色一区二区三区四区| 美女露胸视频在线观看| 久久精品视频在线播放| 综合一区av| brazzers欧美精品| 日批视频在线免费看| 亚洲久本草在线中文字幕| 亚洲成人精品视频| 欧美一区二区播放| 灌醉mj刚成年的大学平面模特| 91精品国产综合久久精品图片| 久久精选视频| 国产乱人伦精品一区二区三区| 国产在线视频网站| 欧美视频在线观看网站| 91原创在线视频| 日韩欧美亚洲综合| 91嫩草在线播放| 国产一区二区香蕉| 国产精品无码电影在线观看| 欧美色老头old∨ideo| 国产美女永久免费| av今日在线| 美女黄色在线网站大全| 91精品办公室少妇高潮对白| 国内精品久久久久久久| 成人动漫在线免费观看| 免费**毛片在线| 欧美高清视频不卡网| 天天综合91| 国产精品无码久久久久一区二区| 欧洲一级在线观看| 中文字幕在线不卡一区| а√最新版天堂中文在线| 91视频精品| 蜜臀av无码一区二区三区| 在线一区视频观看| 欧美色图在线观看| 免费黄网大全| 97在线影院| 九色综合婷婷综合| 国产91av在线播放| 精品久久久久久久久久ntr影视| 国产一区在线观看免费| 97久久中文字幕| 亚洲成人精品视频在线观看| 色国产精品一区在线观看| 欧美成人精品在线视频| 中文字幕欧美日韩精品| 色婷婷激情综合| 日韩女优av电影在线观看| 日本美女爱爱视频| 国产91色在线播放| 国产少妇在线观看| 尤物网址在线观看| 亚洲乱码国产乱码精品精天堂| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产二区视频在线播放| 国产高清视频一区二区| 一区二区国产精品精华液| 日韩精品一区二区三区视频播放| 91网在线免费观看| 成人免费xx| 97精品国产97久久久久久久久久久久| 成人欧美在线观看| 伊人网在线播放| 人人做人人爽人人爱| 欧美日韩国产探花| 综合久久一区二区三区| 久久亚洲综合国产精品99麻豆精品福利| 2025国产精品自拍| www.一区| 性欧美最新另类| 亚洲av永久无码国产精品久久| 欧美高清在线观看| 欧美一区二区女人| 国产亚洲欧美激情| 视频一区视频二区视频三区视频四区国产| 国产精品福利网| 美女精品自拍一二三四| 热这里只有精品| 亚洲在线第一页| 秋霞网一区二区三区| 久99久精品视频免费观看| 国产自偷自偷免费一区| 久久久资源网| 亚洲精品国偷自产在线99热| 国产短剧电视剧免费观看| 欧美精品成人91久久久久久久| 亚洲精品国产成人久久av盗摄| 豆国产96在线|亚洲| 九九热最新地址| 精品国产髙清在线看国产毛片| 黄色一级a毛片| 激情视频一区二区| 亚洲午夜激情视频| 国产绿帽一区二区三区| 九九热精品免费视频| 国产乱码精品一区二三区蜜臂| 国产日韩欧美一区二区三区| 天天色天天干天天| 波多野结衣视频一区| 国产成人午夜电影网| 国产精品久久久久久久久免费丝袜| 国产wwww| 91一区在线| 人人妻人人澡人人爽欧美一区| 国产成人一二|