婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 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)的使用的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美羞羞免费网站| 精品播放一区二区| 国产一区二区在线看| 精品国产sm最大网站| 激情小说亚洲一区| 国产激情一区二区三区四区| 午夜精品一区在线观看| 午夜欧美在线一二页| 国产精品白丝jk白祙喷水网站| 99国产精品久久久久久久久久| 欧美日韩免费电影| 中文字幕五月欧美| 久久国产精品第一页| 成人免费毛片app| 欧美mv日韩mv国产网站app| 亚洲视频在线一区二区| 欧美精品tushy高清| 精品少妇一区二区三区日产乱码| 国产亚洲一本大道中文在线| 中文字幕不卡一区| 国产91在线|亚洲| 国产精品久久久久久久久图文区 | 久久国产剧场电影| 国产美女精品人人做人人爽| 全部av―极品视觉盛宴亚洲| 91精品中文字幕一区二区三区| 国产色综合一区| 国产综合久久久久久鬼色| 欧美色大人视频| 国产成人精品免费一区二区| 一区二区三区四区av| 欧美国产视频在线| 成人精品国产一区二区4080| 91精品国产一区二区三区| 国内精品在线播放| 麻豆一区二区三区| 一本高清dvd不卡在线观看 | 亚洲欧美日韩电影| 欧美精品一区二区三区蜜臀| 国产清纯在线一区二区www| 中文字幕巨乱亚洲| 亚洲国产精品久久人人爱| 色婷婷激情综合| 亚洲综合久久久久| 欧美精品一级二级| 日本韩国欧美国产| 香蕉成人啪国产精品视频综合网 | 中文无字幕一区二区三区| 精品一区二区在线看| 日韩视频免费观看高清完整版在线观看| 天堂久久久久va久久久久| 欧美日韩mp4| 亚洲欧美综合另类在线卡通| 粉嫩一区二区三区性色av| 中文字幕一区二区不卡| 亚洲一区二区在线视频| 欧美一区中文字幕| 激情欧美一区二区| 欧美日韩一级黄| 激情小说亚洲一区| 国产精品二三区| 7777精品伊人久久久大香线蕉经典版下载 | 欧洲一区二区三区在线| 五月婷婷久久综合| 久久久久久电影| 国产成人午夜精品5599| 亚洲观看高清完整版在线观看| 欧美最猛黑人xxxxx猛交| 亚洲第一主播视频| 国产欧美精品一区aⅴ影院 | 91国偷自产一区二区开放时间 | 欧美少妇bbb| 日韩avvvv在线播放| 日本一区二区三区高清不卡| 91豆麻精品91久久久久久| 日本vs亚洲vs韩国一区三区二区| 国产精品免费人成网站| 日韩视频一区二区三区 | 国产日产欧美一区二区视频| 欧美日韩亚洲综合一区| 激情综合色播五月| 亚洲欧美一区二区久久| 国产视频一区在线播放| 日韩视频123| 成人精品视频网站| 国产精品免费免费| 日韩欧美成人激情| 免费精品视频在线| 日日摸夜夜添夜夜添国产精品| 99re热这里只有精品视频| 91福利精品第一导航| 国产精品伦理在线| 91精品国产色综合久久ai换脸| 激情综合网激情| 亚洲二区视频在线| 1000部国产精品成人观看| 欧美人妖巨大在线| 91免费在线看| 亚洲国产高清aⅴ视频| 国产精品国产三级国产三级人妇| 国产精品综合在线视频| 欧美日韩国产成人在线免费| 国产精品福利av| 国产一区二区精品久久99| 91精品福利在线一区二区三区| 91在线视频免费观看| 国产成人综合网| 蜜桃一区二区三区在线| 亚洲va韩国va欧美va精品| 亚洲日本电影在线| 国产免费久久精品| 国产福利一区二区| 欧美日本一区二区三区四区 | 欧美一区二区国产| 91同城在线观看| 成人丝袜18视频在线观看| 国产成人亚洲精品青草天美| 国产福利一区在线| 成人精品视频一区二区三区尤物| 国产美女在线观看一区| 国产亚洲综合性久久久影院| 亚洲精品视频免费观看| 最新国产成人在线观看| 亚洲男人的天堂在线aⅴ视频| 中文字幕精品一区二区三区精品| 69堂国产成人免费视频| 91久久精品日日躁夜夜躁欧美| 国产精品影视在线| 丁香六月综合激情| 91一区二区三区在线播放| 91蝌蚪国产九色| 99久久精品免费看| 在线观看不卡视频| 欧美日韩国产精品成人| 国产欧美视频一区二区三区| 亚洲色图欧美在线| 欧美激情中文字幕一区二区| 久久精品二区亚洲w码| 国内偷窥港台综合视频在线播放| 国产麻豆精品95视频| 一区二区在线观看免费| 一二三区精品视频| 午夜不卡在线视频| 亚洲精品高清在线观看| 色诱视频网站一区| 欧美日韩一级片在线观看| 欧美美女直播网站| 在线播放日韩导航| 337p日本欧洲亚洲大胆色噜噜| 欧美成人乱码一区二区三区| 精品国产亚洲在线| 精品处破学生在线二十三| 日本一区二区三区dvd视频在线| 91精品国产综合久久婷婷香蕉 | 狠狠色狠狠色综合系列| 99九九99九九九视频精品| 日韩三级伦理片妻子的秘密按摩| 日韩精品一区在线| 丰满岳乱妇一区二区三区| 99精品欧美一区二区蜜桃免费 | 日本久久电影网| 久久精品这里都是精品| 亚洲综合清纯丝袜自拍| 久久午夜免费电影| 久久久久成人黄色影片| 91精品在线一区二区| 首页亚洲欧美制服丝腿| 国产一区二区在线看| 欧美日韩成人在线一区| 色婷婷激情综合| 日韩精品中文字幕一区| 久久激情综合网| 国产精品一区在线观看你懂的| 欧美日精品一区视频| 一区二区三区毛片| 成人一区在线看| 欧美一区二区三区免费| 欧美在线视频全部完| 久久午夜羞羞影院免费观看| 国产农村妇女精品| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 色婷婷久久久综合中文字幕| 日韩一区在线免费观看| 精品制服美女久久| 4438x成人网最大色成网站| 日韩一区中文字幕| 久久久亚洲欧洲日产国码αv| 欧美猛男男办公室激情| 国产片一区二区| 国产成人精品网址| 国产精品女人毛片| 亚洲精品福利视频网站| 色悠久久久久综合欧美99| 欧美一区二区久久久| 激情av综合网| 国产精品视频免费看| 国产盗摄女厕一区二区三区 | 99精品欧美一区| 亚洲九九爱视频| 91婷婷韩国欧美一区二区|