分享一下关于matplotlib 鼠标拖动坐标图像/鼠标滑轮放大缩小坐标图像的代码
先看效果:

1、鼠标左键拖动坐标图像

# 鼠标左键拖拽事件
self.lastx = 0  # 获取鼠标按下时的坐标X
self.lasty = 0  # 获取鼠标按下时的坐标Y
self.press = Falseself.figure.canvas.mpl_connect("button_press_event", self.on_press)
self.figure.canvas.mpl_connect("button_release_event", self.on_release)
self.figure.canvas.mpl_connect("motion_notify_event", self.on_move)

接着是具体函数

# ================ 鼠标左键拖拽坐标 ================ #
def on_press(self, event):if event.inaxes:  # 判断鼠标是否在axes内if event.button == 1:  # 判断按下的是否为鼠标左键1(右键是3)self.press = Trueself.lastx = event.xdata  # 获取鼠标按下时的坐标Xself.lasty = event.ydata  # 获取鼠标按下时的坐标Ydef on_move(self, event):axtemp = event.inaxesif axtemp:if self.press:  # 按下状态# 计算新的坐标原点并移动# 获取当前最新鼠标坐标与按下时坐标的差值x = event.xdata - self.lastxy = event.ydata - self.lasty# 获取当前原点和最大点的4个位置x_min, x_max = axtemp.get_xlim()y_min, y_max = axtemp.get_ylim()x_min = x_min - xx_max = x_max - xy_min = y_min - yy_max = y_max - yaxtemp.set_xlim(x_min, x_max)axtemp.set_ylim(y_min, y_max)self.figure.canvas.draw()  # 绘图动作实时反映在图像上def on_release(self, event):if self.press:self.press = False  # 鼠标松开,结束移动

2、鼠标滑轮放大缩小坐标图像

# 鼠标滚轮事件
self.figure.canvas.mpl_connect('scroll_event', self.call_back)

接着是具体函数(这里我增加了y轴的放大缩小)

# ================ 鼠标滚轮放大缩小坐标 ================ #
def call_back(self, event):axtemp = event.inaxesx_min, x_max = axtemp.get_xlim()y_min, y_max = axtemp.get_ylim()xfanwei = (x_max - x_min) / 10yfanwei = (y_max - y_min) / 10if event.button == 'up':axtemp.set(xlim=(x_min + xfanwei, x_max - xfanwei))axtemp.set(ylim=(y_min + yfanwei, y_max - yfanwei))elif event.button == 'down':axtemp.set(xlim=(x_min - xfanwei, x_max + xfanwei))axtemp.set(ylim=(y_min - yfanwei, y_max + yfanwei))self.figure.canvas.draw_idle()  # 绘图动作实时反映在图像上

转载:
https://blog.csdn.net/qhdok/article/details/124826011
https://www.jb51.net/article/247365.htm

matplotlib 鼠标拖动坐标图像/鼠标滑轮放大缩小坐标图像相关推荐

  1. js点击图片查看大图,并可以拖动,且滚动滑轮放大缩小

    方法一:此方法在页面没有滚动条时无法缩放 JQuery function hideMax(){$(".MAX_div").remove();$("#Cover_Div&q ...

  2. JS-以鼠标位置为中心的滑轮放大功能demo1

    以鼠标位置为中心的滑轮放大功能demo1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...

  3. 防止通过鼠标滑轮放大缩小造成页面的变形!

    DIV+CSS布局中,在做顶部大Banner的时候,可以通过在body中写入 min-width: 1200px; 防止通过鼠标滑轮放大缩小造成页面的变形!

  4. css鼠标图片hover移入移出缓慢放大缩小

    css鼠标图片hover移入移出缓慢放大缩小 /* transition 别放hover里,放到img里,这样移入移出一样缓慢,不然只对hover移上去有缓慢效果 */.image{width: 10 ...

  5. PyQt5教程(十二)——实现QQ登录界面(六、实现鼠标拖动界面,鼠标事件)

    PyQt5教程(十二)--实现QQ登录界面(五.实现鼠标拖动界面,鼠标事件) 一.实现界面可以随着鼠标进行拖动 1.主要就是对鼠标事件的实现: def mousePressEvent(self, ev ...

  6. 利用图像内插法放大缩小图像 Matlab

    原文:https://blog.csdn.net/Goldfish442/article/details/61933735 利用图像内插法放大缩小图像 Matlab 内插是利用已知数据来估计未知位置的 ...

  7. 图像几何变换之放大缩小(MATLAB)

    几何变换之放大缩小 概念 1.缩小:从图像中,删除部分像素: 2. 放大:向图像中增加部分像素,增加像素的取值是根据周围相邻像素的值进行插值计算得到的. 用法 调用格式: B = imresize(A ...

  8. python模拟鼠标拖动_python模拟鼠标拖动操作

    1.[代码][Python]代码 # # _*_ coding:UTF-8 _*_ __author__ = 'wp' import win32api import win32con import w ...

  9. linux鼠标拖动重影,Canvas 鼠标拖拉图片重影移动特效

    JavaScript 语言: JaveScriptBabelCoffeeScript 确定 ! function() { "use strict"; // ==== init == ...

最新文章

  1. 基于 python3+nginx 的 Jupyter Notebook 服务端 ssl 访问
  2. 如何丢弃Git中未进行的变更?
  3. [YTU]_2916(Shape系列-2)
  4. 最简单的彩灯管理系统
  5. 一次完整的Loadrunner基本流程操作
  6. 10个我最喜欢问程序员的面试问题
  7. 3.20学习内容,字符串与列表
  8. python concat_python中merge、concat用法
  9. C++——如何重载*(指针)操作符
  10. win7服务器未能登入,Win7提示profile服务未能登录,无法在系统中创建怎么办
  11. input或者button type=submit,设置disabled属性后,无法提交代码到后台
  12. 华为安装gsm框架_华为mate30怎么安装谷歌服务?华为mate30系列安装GMS框架图文教程...
  13. 7-5 约分最简分式
  14. 如何快速将qsv格式转换成mp4
  15. Qt 使用WPS或HTML生成word文档
  16. 为什么不是每个人都过着他梦想中的生活呢?
  17. tensorflow2.0实现DeepFM
  18. tensorflow中tf.nn.xw_plus_b
  19. 癌症与各种微量元素的关系
  20. 全球股市总市值创新高 中国IT企业存在感渐强

热门文章

  1. matlab简单函数迭代法,MATLAB简单迭代法
  2. Java SE Java EE Java ME
  3. 搭建教育app系统源码时,都需要准备哪些三方信息呢?
  4. UE4之可破碎物体遇到的坑
  5. 54家备案法人信用评级机构名单
  6. 计算机在小学语文教学中的应用的现状,多媒体在小学低年级语文教学中的应用...
  7. java中折半查找思想_java折半查找法
  8. semaphore java_java Semaphore
  9. Geotools(空间分析,栅格,坐标系,查询,简易地图,GP工具)
  10. [转]太安逸的工作、环境容易毁灭人