Python使用matplotlib实现在坐标系中画一个矩形的方法

yipeiwu_com6年前Python基础

本文实例讲述了Python使用matplotlib实现在坐标系中画一个矩形的方法。分享给大家供大家参考。具体实现方法如下:

import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
class Annotate(object):
  def __init__(self):
    self.ax = plt.gca()
    self.rect = Rectangle((0,0), 1, 1)
    self.x0 = None
    self.y0 = None
    self.x1 = None
    self.y1 = None
    self.ax.add_patch(self.rect)
    self.ax.figure.canvas.mpl_connect('button_press_event', self.on_press)
    self.ax.figure.canvas.mpl_connect('button_release_event', self.on_release)
  def on_press(self, event):
    print 'press'
    self.x0 = event.xdata
    self.y0 = event.ydata
  def on_release(self, event):
    print 'release'
    self.x1 = event.xdata
    self.y1 = event.ydata
    self.rect.set_width(self.x1 - self.x0)
    self.rect.set_height(self.y1 - self.y0)
    self.rect.set_xy((self.x0, self.y0))
    self.ax.figure.canvas.draw()
a = Annotate()
plt.show()

如下图所示:

希望本文所述对大家的Python程序设计有所帮助。

相关文章

在Mac上删除自己安装的Python方法

推荐使用 Homebrew 来安装第三方工具。自己安装的python散落在电脑各处,删除起来比较麻烦。今天在此记录一下删除的过程(本人以Python3.6为例)。 删除Python 3....

Sanic框架路由用法实例分析

本文实例讲述了Sanic框架路由用法。分享给大家供大家参考,具体如下: 前面一篇《Sanic框架安装与简单入门》简单介绍了Sanic框架的安装与基本用法,这里进一步学习Sanic框架的路...

python读取并写入mat文件的方法

先给大家介绍下python读取并写入mat文件的方法 用matlab生成一个示例mat文件: clear;clc matrix1 = magic(5); matrix2 = magi...

Python实现采用进度条实时显示处理进度的方法

本文实例讲述了Python实现采用进度条实时显示处理进度的方法。分享给大家供大家参考,具体如下: 前言 在大多数时候,我们的程序会一直进行循环处理。这时候,我们非常希望能够知道程序的处理...

Python实现类似比特币的加密货币区块链的创建与交易实例

Python实现类似比特币的加密货币区块链的创建与交易实例

虽然有些人认为区块链是一个早晚会出现问题的解决方案,但是毫无疑问,这个创新技术是一个计算机技术上的奇迹。那么,究竟什么是区块链呢? 区块链 以比特币(Bitcoin)或其它加密货币按...