校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 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)的使用的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    成人美女视频在线观看| 亚洲精品免费一二三区| 成人sese在线| 一区二区欧美精品| 中文字幕va一区二区三区| 亚洲一区二区三区中文字幕| 三级影片在线观看欧美日韩一区二区 | 中文字幕免费一区| 91蜜桃婷婷狠狠久久综合9色| 丁香六月综合激情| 天堂蜜桃一区二区三区| 午夜精品免费在线| 久久久欧美精品sm网站| 亚洲综合视频网| 午夜精品久久久久久久99水蜜桃| 午夜精品影院在线观看| 亚洲成a人v欧美综合天堂| 亚洲国产精品久久久久秋霞影院| 日本一区二区三区国色天香| 中文字幕亚洲综合久久菠萝蜜| 国产亚洲欧美中文| 国产网站一区二区三区| 自拍偷自拍亚洲精品播放| 久久久久久久久久久99999| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 国产精品久久久久9999吃药| 欧美久久高跟鞋激| 日韩午夜精品电影| 自拍偷拍亚洲欧美日韩| 亚洲一二三四在线| 日韩欧美成人午夜| 久久综合久久久久88| 日韩精品亚洲一区二区三区免费| 樱桃国产成人精品视频| 激情综合网天天干| 国产美女在线观看一区| 91免费看片在线观看| av电影在线观看一区| 色av成人天堂桃色av| 欧美精品在欧美一区二区少妇| 一区二区在线观看视频| 丰满放荡岳乱妇91ww| 日韩欧美黄色影院| 麻豆一区二区三| 国产日韩欧美精品一区| 久久激情五月激情| 91网上在线视频| 欧美极品xxx| 免费不卡在线观看| 91麻豆精品久久久久蜜臀| 亚洲精品欧美激情| 日本久久一区二区| 日韩理论片在线| 7878成人国产在线观看| 青青草国产成人av片免费| 在线免费观看一区| 亚洲免费在线观看视频| 欧美日韩高清影院| 亚洲国产精品天堂| 91精品国产免费久久综合| 日本三级亚洲精品| 91精品在线观看入口| 日韩va亚洲va欧美va久久| 欧美日韩免费一区二区三区 | 国产91露脸合集magnet| 亚洲男人天堂一区| 精品久久久久久无| 韩国av一区二区| 国产亚洲欧美在线| 99久久婷婷国产综合精品| 国产亚洲精品资源在线26u| 欧美日韩亚洲综合| 久久国产精品一区二区| 亚洲免费在线视频| 在线观看欧美精品| 国产精品自产自拍| 免费一级欧美片在线观看| 国产精品福利一区二区三区| 国产69精品久久99不卡| 欧美国产一区二区| 欧美xxxx老人做受| 国产一区二区剧情av在线| 午夜精品爽啪视频| 日韩精品中午字幕| 欧美刺激午夜性久久久久久久| 亚洲一区二区三区四区在线免费观看 | 国产亚洲一区字幕| 色综合久久久久久久久久久| 波多野结衣中文字幕一区二区三区| 久久电影网电视剧免费观看| 亚洲美女屁股眼交3| 国产片一区二区| 欧美精品欧美精品系列| 99久久婷婷国产精品综合| 国产成人自拍在线| 男女激情视频一区| 国产99久久久国产精品 | 91黄色免费看| 狠狠色伊人亚洲综合成人| 亚洲免费高清视频在线| 国产欧美一区二区精品久导航| 精品国产乱子伦一区| 精品嫩草影院久久| 精品欧美一区二区三区精品久久 | 美腿丝袜亚洲色图| 国产精品一区二区久久不卡 | 中文字幕一区二区三区精华液| 午夜精品一区在线观看| 蜜臀av一区二区| 国产91精品一区二区| 欧美一区二区三区思思人 | 国产精品视频一二三| 国产欧美综合在线观看第十页| 欧美α欧美αv大片| 国产精品视频免费看| 婷婷夜色潮精品综合在线| 性做久久久久久免费观看欧美| 国产精品成人一区二区三区夜夜夜| 亚洲电影一级片| 毛片不卡一区二区| a亚洲天堂av| 欧美精品久久天天躁| 欧美成人猛片aaaaaaa| 日韩黄色一级片| 欧美视频在线不卡| 亚洲精品在线免费播放| 亚洲精品一区二区三区蜜桃下载 | 日韩免费高清视频| 日韩毛片高清在线播放| 奇米一区二区三区| 国产成人日日夜夜| 欧美日韩欧美一区二区| 欧美精品一级二级三级| 日韩欧美一卡二卡| 精品夜夜嗨av一区二区三区| 在线日韩一区二区| 亚洲欧美aⅴ...| 国产精品香蕉一区二区三区| 久久机这里只有精品| 69堂亚洲精品首页| 日韩黄色小视频| 精品视频在线看| 性做久久久久久久免费看| 欧美mv日韩mv亚洲| 黄一区二区三区| 91精品国产综合久久久久久| 五月天激情综合| 欧美日韩在线综合| 一区二区三区加勒比av| 欧美视频自拍偷拍| 亚洲一二三区在线观看| 国产福利一区二区三区| 久久综合给合久久狠狠狠97色69| 国产91精品一区二区麻豆网站| 色综合欧美在线| 国产在线精品国自产拍免费| 日韩一区二区影院| 蜜桃久久久久久久| 中文字幕一区三区| 日韩一区二区中文字幕| 成人app网站| 蜜臀av性久久久久蜜臀aⅴ| 日韩三级精品电影久久久 | 欧美日韩1区2区| 国产v综合v亚洲欧| 1024精品合集| 国产无遮挡一区二区三区毛片日本| 欧美综合欧美视频| 激情国产一区二区| 精品国产1区二区| 成人午夜短视频| 丝袜亚洲另类欧美| 中文字幕精品一区二区三区精品| 777a∨成人精品桃花网| 国产一区二区不卡在线| 一二三四社区欧美黄| 久久久精品tv| 精品久久国产97色综合| 欧美不卡123| 国产欧美精品在线观看| 久久美女艺术照精彩视频福利播放| 色综合久久久久| 日韩成人av影视| 久久精品欧美一区二区三区不卡| 欧美日韩精品高清| 色狠狠一区二区| 91黄色激情网站| 成人国产免费视频| 精品一区二区三区久久| 亚洲一区在线观看视频| 久久久激情视频| 国产拍欧美日韩视频二区| 国产午夜精品美女毛片视频| av高清久久久| 欧美一区二区三区日韩| 欧美欧美午夜aⅴ在线观看| 国产在线精品免费| 色就色 综合激情| 久久众筹精品私拍模特| 亚洲国产精品一区二区久久|