欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > matplotlib之多邊形選區(PolygonSelector)的使用

matplotlib之多邊形選區(PolygonSelector)的使用

熱門標簽:高德地圖標注字母 騰訊地圖標注有什么版本 柳州正規電銷機器人收費 千呼ai電話機器人免費 深圳網絡外呼系統代理商 申請辦個400電話號碼 400電話辦理費用收費 鎮江人工外呼系統供應商 外呼系統前面有錄音播放嗎

多邊形選區概述

多邊形選區是一種常見的對象選擇方式,在一個子圖中,單擊鼠標左鍵即構建一個多邊形的端點,最后一個端點與第一個端點重合即完成多邊形選區,選區即為多個端點構成的多邊形。在matplotlib中的多邊形選區屬于部件(widgets),matplotlib中的部件都是中性(neutral )的,即與具體后端實現無關。

多邊形選區具體實現定義為matplotlib.widgets.PolygonSelector類,繼承關系為:Widget->AxesWidget->_SelectorWidget->PolygonSelector。

PolygonSelector類的簽名為class matplotlib.widgets.PolygonSelector(ax, onselect, useblit=False, lineprops=None, markerprops=None, vertex_select_radius=15)

PolygonSelector類構造函數的參數為:

  • ax:多邊形選區生效的子圖,類型為matplotlib.axes.Axes的實例。
  • onselect:多邊形選區完成后執行的回調函數,函數簽名為def onselect( vertices),vertices數據類型為列表,列表元素格式為(xdata,ydata)元組。
  • drawtype:多邊形選區的外觀,取值范圍為{"box", "line", "none"},"box"為多邊形框,"line"為多邊形選區對角線,"none"無外觀,類型為字符串,默認值為"box"。
  • lineprops:多邊形選區線條的屬性,默認值為dict(color='k', linestyle='-', linewidth=2, alpha=0.5)。
  • markerprops:多邊形選區端點的屬性,默認值為dict(marker='o', markersize=7, mec='k', mfc='k', alpha=0.5)。
  • vertex_select_radius:多邊形端點的選擇半徑,浮點數,默認值為15,用于端點選擇或者多邊形閉合。

PolygonSelector類中的state_modifier_keys公有變量 state_modifier_keys定義了操作快捷鍵,類型為字典。

  • “move_all”: 移動已存在的選區,默認為"shift"。
  • “clear”:清除現有選區,默認為 "escape",即esc鍵。
  • “move_vertex”:正方形選區,默認為"control"。

PolygonSelector類中的verts特性返回多邊形選區中的多有端點,類型為列表,元素為(x,y)元組,即端點的坐標元組。

案例

官方案例,https://matplotlib.org/gallery/widgets/polygon_selector_demo.html

案例說明

單擊鼠標左鍵創建端點,最終點擊初始端點閉合多邊形,形成多邊形選區。選區外的數據元素顏色變淡,選區內數據顏色保持不變。

按esc鍵取消選區。按shift鍵鼠標可以移動多邊形選區位置,按ctrl鍵鼠標可以移動多邊形選區某個端點的位置。退出程序時,控制臺輸出選區內數據元素的坐標。

控制臺輸出:

Selected points:
[[2.0 2.0]
 [1.0 3.0]
 [2.0 3.0]]

案例代碼

import numpy as np

from matplotlib.widgets import PolygonSelector
from matplotlib.path import Path


class SelectFromCollection:
  """
  Select indices from a matplotlib collection using `PolygonSelector`.

  Selected indices are saved in the `ind` attribute. This tool fades out the
  points that are not part of the selection (i.e., reduces their alpha
  values). If your collection has alpha  1, this tool will permanently
  alter the alpha values.

  Note that this tool selects collection objects based on their *origins*
  (i.e., `offsets`).

  Parameters
  ----------
  ax : `~matplotlib.axes.Axes`
    Axes to interact with.
  collection : `matplotlib.collections.Collection` subclass
    Collection you want to select from.
  alpha_other : 0 = float = 1
    To highlight a selection, this tool sets all selected points to an
    alpha value of 1 and non-selected points to *alpha_other*.
  """

  def __init__(self, ax, collection, alpha_other=0.3):
    self.canvas = ax.figure.canvas
    self.collection = collection
    self.alpha_other = alpha_other

    self.xys = collection.get_offsets()
    self.Npts = len(self.xys)

    # Ensure that we have separate colors for each object
    self.fc = collection.get_facecolors()
    if len(self.fc) == 0:
      raise ValueError('Collection must have a facecolor')
    elif len(self.fc) == 1:
      self.fc = np.tile(self.fc, (self.Npts, 1))

    self.poly = PolygonSelector(ax, self.onselect)
    self.ind = []

  def onselect(self, verts):
    path = Path(verts)
    self.ind = np.nonzero(path.contains_points(self.xys))[0]
    self.fc[:, -1] = self.alpha_other
    self.fc[self.ind, -1] = 1
    self.collection.set_facecolors(self.fc)
    self.canvas.draw_idle()

  def disconnect(self):
    self.poly.disconnect_events()
    self.fc[:, -1] = 1
    self.collection.set_facecolors(self.fc)
    self.canvas.draw_idle()


if __name__ == '__main__':
  import matplotlib.pyplot as plt

  fig, ax = plt.subplots()
  grid_size = 5
  grid_x = np.tile(np.arange(grid_size), grid_size)
  grid_y = np.repeat(np.arange(grid_size), grid_size)
  pts = ax.scatter(grid_x, grid_y)

  selector = SelectFromCollection(ax, pts)

  print("Select points in the figure by enclosing them within a polygon.")
  print("Press the 'esc' key to start a new polygon.")
  print("Try holding the 'shift' key to move all of the vertices.")
  print("Try holding the 'ctrl' key to move a single vertex.")

  plt.show()

  selector.disconnect()

  # After figure is closed print the coordinates of the selected points
  print('\nSelected points:')
  print(selector.xys[selector.ind])

到此這篇關于matplotlib之多邊形選區(PolygonSelector)的使用的文章就介紹到這了,更多相關matplotlib 多邊形選區內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 詳解Golang并發操作中常見的死鎖情形
  • Go 語言中的死鎖問題解決
  • Go語言死鎖與goroutine泄露問題的解決
  • golang coroutine 的等待與死鎖用法
  • go select編譯期的優化處理邏輯使用場景分析
  • Django實現jquery select2帶搜索的下拉框
  • Go語言使用select{}阻塞main函數介紹
  • golang中的select關鍵字用法總結
  • Go select 死鎖的一個細節

標簽:烏蘭察布 哈爾濱 海南 平頂山 大慶 郴州 合肥 烏蘭察布

巨人網絡通訊聲明:本文標題《matplotlib之多邊形選區(PolygonSelector)的使用》,本文關鍵詞  matplotlib,之,多邊形,選區,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《matplotlib之多邊形選區(PolygonSelector)的使用》相關的同類信息!
  • 本頁收集關于matplotlib之多邊形選區(PolygonSelector)的使用的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    亚洲国产另类av| 美女伦理水蜜桃4| 992在线观看| 亚洲精品一区在线观看| 蜜臀av国产精品久久久久 | 国产91丝袜在线观看| 欧美巨胸大乳hitomi| 久久久夜色精品亚洲| 另类欧美日韩国产在线| 精品少妇人妻一区二区黑料社区| 日韩欧美一区二区三区在线| 午夜av电影一区| 超碰男人的天堂| 日韩亚洲欧美在线| 欧美aⅴ一区二区三区视频| 成人h动漫精品一区| 日韩一卡二卡三卡国产欧美| 日本美女一区二区三区视频| xxxx日本免费| 久久久国产综合精品女国产盗摄| 国产一区二区按摩在线观看| 永久av免费网站| 中文字幕一区在线观看视频| 成人avav影音| 欧美亚洲国产bt| 婷婷成人激情在线网| 久久久久久久久久久国产精品| 精品国产乱码久久久久久夜甘婷婷 | 久久影院午夜论| 国产美女视频一区| 欧美第一页在线观看| 亚洲欧洲综合另类| av电影在线播放| 精品美女一区二区| 国产成人av一区二区三区在线观看| 色综合天天综合狠狠| 一区二区欧美精品| 国产精品一区二区入口九绯色| xfplay精品久久| 成人看片黄a免费看在线| 欧美图区在线视频| 日本中文字幕一区| 国产大屁股喷水视频在线观看| 亚洲欧美日韩在线不卡| 97人妻精品一区二区三区免费| 精品国产第一区二区三区观看体验| 国产乱色国产精品免费视频| 在线观看视频91| 日本人妖一区二区| 三上悠亚作品在线观看| 一区二区激情视频| 久久美女免费视频| 亚洲人成人一区二区在线观看 | 国产成人av免费观看| 日韩一卡二卡三卡四卡| 国产99久久久国产精品| 欧美欧美午夜aⅴ在线观看| 久草热8精品视频在线观看| 91成人福利视频| 日韩电影在线免费| 黄色片在线观看网站| 日精品一区二区| 国产黄色小视频网站| 日精品一区二区| 国产精品三区在线观看| 婷婷成人综合网| 黑人巨大精品一区二区在线| 日韩不卡免费视频| 一本久久精品一区二区| 免费黄网站欧美| 色久优优欧美色久优优| 美女mm1313爽爽久久久蜜臀| 色视频成人在线观看免| 精品一区二区三区视频| 欧美三级电影网站| 国产成人在线观看免费网站| 欧美一区在线视频| av在线播放一区二区三区| 精品捆绑美女sm三区| 亚洲国产欧美日韩在线| 国产无遮挡一区二区三区毛片日本| 少妇熟女视频一区二区三区 | 欧美亚一区二区三区| 亚洲欧美激情一区二区| 男女男精品视频网站| 日韩精品视频网站| 91精彩视频在线观看| 国产美女视频一区| 欧美va亚洲va| 在线xxxxx| 亚洲免费观看在线观看| 国产精品一区二区亚洲| 日本大胆欧美人术艺术动态| 欧美综合在线视频| 成人在线一区二区三区| 亚洲精品一区二区三区99| 中国黄色片视频| 亚洲天堂av老司机| 国精产品久拍自产在线网站| 久久国产精品99精品国产| 67194成人在线观看| 99国产精品久久| 国产精品久久久久久久久图文区 | 日本道在线观看一区二区| 国产伦精一区二区三区| 欧美电影免费观看高清完整版在线 | 中文字幕中文字幕一区| 国产主播av在线| 欧美性视频一区二区三区| 国产福利一区二区三区在线视频| 欧美成人激情免费网| 超碰男人的天堂| 丝袜脚交一区二区| 欧美日韩高清一区二区| 佐山爱在线视频| 亚洲视频在线一区| 高h视频免费观看| 成人在线视频一区| |精品福利一区二区三区| 日韩在线不卡av| 国产成人午夜片在线观看高清观看| 久久免费国产精品| 黄色片网站免费| 极品美女销魂一区二区三区 | 国产精品成人69xxx免费视频| 韩国理伦片一区二区三区在线播放| 日韩欧美一二三四区| 日韩网站在线播放| 免费在线看成人av| 精品久久人人做人人爽| xxxxx在线观看| 美女视频黄 久久| 精品国产91洋老外米糕| 亚洲精品视频网址| 国产在线国偷精品免费看| 国产天堂亚洲国产碰碰| 久久久久久久麻豆| 成人av免费在线| 一区二区三区国产| 69堂精品视频| 免费看黄色的视频| 国内精品国产三级国产a久久| 久久精品亚洲麻豆av一区二区 | 美国毛片一区二区| xf在线a精品一区二区视频网站| 毛片aaaaaa| 成人深夜在线观看| 亚洲精品乱码久久久久久黑人| 欧美日韩国产综合一区二区 | 全程偷拍露脸中年夫妇| 99九九99九九九视频精品| 亚洲一区自拍偷拍| 欧美一区二区三级| www.色天使| 成人丝袜18视频在线观看| 亚洲综合激情小说| 日韩午夜激情免费电影| 欧美亚洲色综久久精品国产| 国产不卡在线播放| 一区二区三区鲁丝不卡| 91精品在线观看入口| 久久久久久九九九九九| 国产成人av资源| 一区二区成人在线| 欧美mv日韩mv亚洲| 欧美日韩黄色网| 中文字幕在线国产| 美腿丝袜在线亚洲一区| 中文字幕一区二区三中文字幕| 欧美日韩国产区一| 久久精品三级视频| 先锋资源在线视频| 美女www一区二区| 四虎国产精品永久免费观看视频| 日韩精品电影在线观看| 国产欧美精品一区二区色综合朱莉 | 高清shemale亚洲人妖| 亚洲国产视频一区二区| 26uuu另类欧美| 一本色道久久加勒比精品| 最新中文字幕视频| aaa欧美大片| 蜜臀av国产精品久久久久| 综合亚洲深深色噜噜狠狠网站| 欧美日韩大陆在线| 影音先锋男人看片资源| 亚洲成a人无码| 国产成人免费视频网站| 婷婷久久综合九色综合伊人色| 亚洲国产精品99久久久久久久久| 在线播放91灌醉迷j高跟美女| 懂色av粉嫩av浪潮av| 亚洲一二三四五| 国产99一区视频免费| 热久久国产精品| 亚洲精品一卡二卡| 久久久精品一品道一区| 欧美精品v日韩精品v韩国精品v| 亚洲怡红院在线观看| 丰满少妇一区二区三区|