matplotlib 鼠标拖动坐标图像/鼠标滑轮放大缩小坐标图像
分享一下关于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 鼠标拖动坐标图像/鼠标滑轮放大缩小坐标图像相关推荐
- js点击图片查看大图,并可以拖动,且滚动滑轮放大缩小
方法一:此方法在页面没有滚动条时无法缩放 JQuery function hideMax(){$(".MAX_div").remove();$("#Cover_Div&q ...
- JS-以鼠标位置为中心的滑轮放大功能demo1
以鼠标位置为中心的滑轮放大功能demo1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...
- 防止通过鼠标滑轮放大缩小造成页面的变形!
DIV+CSS布局中,在做顶部大Banner的时候,可以通过在body中写入 min-width: 1200px; 防止通过鼠标滑轮放大缩小造成页面的变形!
- css鼠标图片hover移入移出缓慢放大缩小
css鼠标图片hover移入移出缓慢放大缩小 /* transition 别放hover里,放到img里,这样移入移出一样缓慢,不然只对hover移上去有缓慢效果 */.image{width: 10 ...
- PyQt5教程(十二)——实现QQ登录界面(六、实现鼠标拖动界面,鼠标事件)
PyQt5教程(十二)--实现QQ登录界面(五.实现鼠标拖动界面,鼠标事件) 一.实现界面可以随着鼠标进行拖动 1.主要就是对鼠标事件的实现: def mousePressEvent(self, ev ...
- 利用图像内插法放大缩小图像 Matlab
原文:https://blog.csdn.net/Goldfish442/article/details/61933735 利用图像内插法放大缩小图像 Matlab 内插是利用已知数据来估计未知位置的 ...
- 图像几何变换之放大缩小(MATLAB)
几何变换之放大缩小 概念 1.缩小:从图像中,删除部分像素: 2. 放大:向图像中增加部分像素,增加像素的取值是根据周围相邻像素的值进行插值计算得到的. 用法 调用格式: B = imresize(A ...
- python模拟鼠标拖动_python模拟鼠标拖动操作
1.[代码][Python]代码 # # _*_ coding:UTF-8 _*_ __author__ = 'wp' import win32api import win32con import w ...
- linux鼠标拖动重影,Canvas 鼠标拖拉图片重影移动特效
JavaScript 语言: JaveScriptBabelCoffeeScript 确定 ! function() { "use strict"; // ==== init == ...
最新文章
- 基于 python3+nginx 的 Jupyter Notebook 服务端 ssl 访问
- 如何丢弃Git中未进行的变更?
- [YTU]_2916(Shape系列-2)
- 最简单的彩灯管理系统
- 一次完整的Loadrunner基本流程操作
- 10个我最喜欢问程序员的面试问题
- 3.20学习内容,字符串与列表
- python concat_python中merge、concat用法
- C++——如何重载*(指针)操作符
- win7服务器未能登入,Win7提示profile服务未能登录,无法在系统中创建怎么办
- input或者button type=submit,设置disabled属性后,无法提交代码到后台
- 华为安装gsm框架_华为mate30怎么安装谷歌服务?华为mate30系列安装GMS框架图文教程...
- 7-5 约分最简分式
- 如何快速将qsv格式转换成mp4
- Qt 使用WPS或HTML生成word文档
- 为什么不是每个人都过着他梦想中的生活呢?
- tensorflow2.0实现DeepFM
- tensorflow中tf.nn.xw_plus_b
- 癌症与各种微量元素的关系
- 全球股市总市值创新高 中国IT企业存在感渐强
热门文章
- matlab简单函数迭代法,MATLAB简单迭代法
- Java SE Java EE Java ME
- 搭建教育app系统源码时,都需要准备哪些三方信息呢?
- UE4之可破碎物体遇到的坑
- 54家备案法人信用评级机构名单
- 计算机在小学语文教学中的应用的现状,多媒体在小学低年级语文教学中的应用...
- java中折半查找思想_java折半查找法
- semaphore java_java Semaphore
- Geotools(空间分析,栅格,坐标系,查询,简易地图,GP工具)
- [转]太安逸的工作、环境容易毁灭人