python wxpython backend wxagg_在wxPython中使用draw()(复制轴)绘制不正确
我是Python和wxPython的新手,我尝试在一个盒子里模拟粒子,在随机的方向上以随机的速度。
我在wxFormBuilder中创建了一个简单的GUI,其中我有一个面板来显示paricles的图。粒子被设置到一个位置并绘制到面板上,然后我开始模拟并更新粒子的x和y位置。当重新绘制位置时,轴看起来像以前一样“粗”,看起来好像有几个轴在上面。在
我找不到关于这个问题的任何信息,我希望有人能帮我解决这个问题?在
这是创建绘图的代码:import wx
import particles
import random
import matplotlib
matplotlib.use('WXAgg')
from matplotlib.figure import Figure
from matplotlib.backends.backend_wxagg import \
FigureCanvasWxAgg as FigCanvas, \
NavigationToolbar2WxAgg as NavigationToolbar
matplotlib.rcParams.update({'font.size': 8})
class MyFrameSub( particles.GUI_MainFrame ):
def __init__( self, parent ):
particles.GUI_MainFrame.__init__( self, parent )
def InitData(self):
self.npart = int(self.m_npart.GetValue())
self.nsteps = int(self.m_steps.GetValue())
self.ndt = float(self.m_dt.GetValue())
self.x= [random.random() for I in range(self.npart)]
self.y= [2*random.random()-1 for I in range(self.npart)]
self.vx= [self.ndt*(2*random.random()-1) for I in range(self.npart)]
self.vy= [self.ndt*(2*random.random()-1) for I in range(self.npart)]
return
def CreatePlot(self):
panelsize = self.m_PlotPanel.GetClientSize()
self.figure = Figure(figsize=(panelsize[0]/100.0,panelsize[1]/100.0), dpi=100, frameon=False)
self.canvas = FigCanvas(self.m_PlotPanel, wx.ID_ANY, self.figure)
self.axes = self.figure.add_subplot(111)
self.axes.axis((-1,1,-1,1))
self.partplot, = self.axes.plot(self.x, self.y, 'ro')
self.canvas.draw()
return
def UpdateData(self):
for i in range(self.nsteps):
for j in range(self.npart):
self.x[j]=self.x[j]+self.vx[j]
self.y[j]=self.y[j]+self.vy[j]
if abs(self.x[j])>1:
self.vx[j]=-self.vx[j]
if abs(self.y[j])>1:
self.vy[j]=-self.vy[j]
self.partplot.set_xdata(self.x)
self.partplot.set_ydata(self.y)
self.canvas.draw()
return
你看斧子变丑了,我不知道为什么。在
我想的另一个问题是:
当我运行一个需要一段时间UI没有响应的循环时,是否可以让UI处于活动状态以取消循环(如果需要)?在
python wxpython backend wxagg_在wxPython中使用draw()(复制轴)绘制不正确相关推荐
- python wxpython backend wxagg_[宜配屋]听图阁
使用Matplotlib在wxPython的Panel上绘制曲线图,需要导入: import numpy from matplotlib.backends.backend_wxagg import F ...
- python wxpython backend wxagg_如何刷新wx.面板正确地?
我正在使用wxPython创建一个图像查看器.我想单独查看多个图像,所以我写了下面的代码(部分).在from matplotlib.backends.backend_wxagg import Figu ...
- python的图形界面库wxpython的快速简单使用
简介 使用python来写小型软件简便而且快速,为其添加界面则是必不可小的.现在说一下wxpython的使用. wxpython是一个第三方的库,可以编写任意复杂的界面,但是对于刚入门的新手来说,如何 ...
- Python分析离散心率信号(中)
Python分析离散心率信号(中) 一些理论和背景 心率信号不仅包含有关心脏的信息,还包含有关呼吸,短期血压调节,体温调节和荷尔蒙血压调节(长期)的信息.也(尽管不总是始终如一)与精神努力相关联,这并 ...
- 使用Python,OpenCV从静态背景中提取移动前景
使用Python,OpenCV从静态背景中提取移动前景 1. 效果图 2. 原理 3. 源码 参考 这篇博客将介绍OpenCV中的背景减法方法--即从静态背景中提取移动前景.在许多基于视觉的应用中,背 ...
- python pandas库读取excel/csv中指定行或列数据详解
通过阅读表格,可以发现Pandas中提供了非常丰富的数据读写方法,下面这篇文章主要给大家介绍了关于python利用pandas库读取excel/csv中指定行或列数据的相关资料,需要的朋友可以参考下 ...
- python如何使用ppip安装xlwt_Python中xlrd和xlwt模块使用方法
原博文 2017-07-05 21:30 − 本文主要介绍可操作excel文件的xlrd.xlwt模块.其中xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入. 安装xl ...
- python selenium 下拉列表_从下拉列表中选择python selenium选项
我试图使用下面的代码使用selenium(python)从网页上的下拉列表中选择一个选项.在from selenium import webdriver from selenium.webdriver ...
- Python matplotlib可视化:在Matplotlib中为坐标轴刻度添加自定义符号(例如,货币符号¥$等)、水平条形图(horizontal bar)
Python matplotlib可视化:在Matplotlib中为坐标轴刻度添加自定义符号(例如,货币符号¥$等).水平条形图(horizontal bar) 目录
最新文章
- FeResPost 4.1.8 发布
- 1102面向对象和类原型
- oa提醒模块要素_OA办公系统的选型有哪些要素?OA系统如何给企业带来巨大价值?...
- Matlab绘制不同阻尼下的系统响应
- java定义dll文件位置,生成网站时如何设置固定的dll文件名?-Java架构师必看
- JavaScript面向对象——深入理解默认的继承方式原型链
- CSS3实现一束光划过图片、和文字特效
- 计算机史上首篇教你从算法问题提炼算法思想的文章
- flink开发案例_为什么说 Flink + AI 值得期待?
- aspx调试的时候其他机器也可以打开_VSCode 穿越跳板机调试远程代码
- iPhone通讯录整理及vcf-CSV互转
- 微信公众号/订阅号怎么用互动伴侣小程序开通留言功能?
- 东方时尚驾校学习心得
- 在edge中使用IE兼容性视图的设置方法|Win10 Win11
- AWS中负载均衡器类型
- mp3转为pcm工具
- 【沃顿商学院学习笔记】管理学——06腐败带来的间接成本和全球制裁状况Indirect Costs and Sanction
- 计算机记账的优点,记账凭证的优缺点
- 论文研读--Masked Generative Distillation
- 苹果电脑传android文件怎么打开,怎么用苹果电脑给android手机传文件
热门文章
- Ubuntu 之旅(三)安装通讯工具
- tomcat源码分析(一)- tomcat源码导入IDEA并正常启动
- OAuth2.0(基于django2.1.2实现版本)
- 内核开发知识第二讲,编写Kerner 程序中注意的问题.
- Apache下的配置文件httpd.conf、httpd-vhosts.conf 转
- 【数据泵】EXPDP导出表结构
- 改变kingcms默认拼音路径格式/修改kingcms拼音路径
- Java编码问题原因以及解决
- php中用date()取出的当前时间查8个小时的解决方法。
- 通过js跳转url下载包含中文的文件乱码问题解决方案(java)