我是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()(复制轴)绘制不正确相关推荐

  1. python wxpython backend wxagg_[宜配屋]听图阁

    使用Matplotlib在wxPython的Panel上绘制曲线图,需要导入: import numpy from matplotlib.backends.backend_wxagg import F ...

  2. python wxpython backend wxagg_如何刷新wx.面板正确地?

    我正在使用wxPython创建一个图像查看器.我想单独查看多个图像,所以我写了下面的代码(部分).在from matplotlib.backends.backend_wxagg import Figu ...

  3. python的图形界面库wxpython的快速简单使用

    简介 使用python来写小型软件简便而且快速,为其添加界面则是必不可小的.现在说一下wxpython的使用. wxpython是一个第三方的库,可以编写任意复杂的界面,但是对于刚入门的新手来说,如何 ...

  4. Python分析离散心率信号(中)

    Python分析离散心率信号(中) 一些理论和背景 心率信号不仅包含有关心脏的信息,还包含有关呼吸,短期血压调节,体温调节和荷尔蒙血压调节(长期)的信息.也(尽管不总是始终如一)与精神努力相关联,这并 ...

  5. 使用Python,OpenCV从静态背景中提取移动前景

    使用Python,OpenCV从静态背景中提取移动前景 1. 效果图 2. 原理 3. 源码 参考 这篇博客将介绍OpenCV中的背景减法方法--即从静态背景中提取移动前景.在许多基于视觉的应用中,背 ...

  6. python pandas库读取excel/csv中指定行或列数据详解

    通过阅读表格,可以发现Pandas中提供了非常丰富的数据读写方法,下面这篇文章主要给大家介绍了关于python利用pandas库读取excel/csv中指定行或列数据的相关资料,需要的朋友可以参考下 ...

  7. python如何使用ppip安装xlwt_Python中xlrd和xlwt模块使用方法

    原博文 2017-07-05 21:30 − 本文主要介绍可操作excel文件的xlrd.xlwt模块.其中xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入. 安装xl ...

  8. python selenium 下拉列表_从下拉列表中选择python selenium选项

    我试图使用下面的代码使用selenium(python)从网页上的下拉列表中选择一个选项.在from selenium import webdriver from selenium.webdriver ...

  9. Python matplotlib可视化:在Matplotlib中为坐标轴刻度添加自定义符号(例如,货币符号¥$等)、水平条形图(horizontal bar)

    Python matplotlib可视化:在Matplotlib中为坐标轴刻度添加自定义符号(例如,货币符号¥$等).水平条形图(horizontal bar) 目录

最新文章

  1. FeResPost 4.1.8 发布
  2. 1102面向对象和类原型
  3. oa提醒模块要素_OA办公系统的选型有哪些要素?OA系统如何给企业带来巨大价值?...
  4. Matlab绘制不同阻尼下的系统响应
  5. java定义dll文件位置,生成网站时如何设置固定的dll文件名?-Java架构师必看
  6. JavaScript面向对象——深入理解默认的继承方式原型链
  7. CSS3实现一束光划过图片、和文字特效
  8. 计算机史上首篇教你从算法问题提炼算法思想的文章
  9. flink开发案例_为什么说 Flink + AI 值得期待?
  10. aspx调试的时候其他机器也可以打开_VSCode 穿越跳板机调试远程代码
  11. iPhone通讯录整理及vcf-CSV互转
  12. 微信公众号/订阅号怎么用互动伴侣小程序开通留言功能?
  13. 东方时尚驾校学习心得
  14. 在edge中使用IE兼容性视图的设置方法|Win10 Win11
  15. AWS中负载均衡器类型
  16. mp3转为pcm工具
  17. 【沃顿商学院学习笔记】管理学——06腐败带来的间接成本和全球制裁状况Indirect Costs and Sanction
  18. 计算机记账的优点,记账凭证的优缺点
  19. 论文研读--Masked Generative Distillation
  20. 苹果电脑传android文件怎么打开,怎么用苹果电脑给android手机传文件

热门文章

  1. Ubuntu 之旅(三)安装通讯工具
  2. tomcat源码分析(一)- tomcat源码导入IDEA并正常启动
  3. OAuth2.0(基于django2.1.2实现版本)
  4. 内核开发知识第二讲,编写Kerner 程序中注意的问题.
  5. Apache下的配置文件httpd.conf、httpd-vhosts.conf 转
  6. 【数据泵】EXPDP导出表结构
  7. 改变kingcms默认拼音路径格式/修改kingcms拼音路径
  8. Java编码问题原因以及解决
  9. php中用date()取出的当前时间查8个小时的解决方法。
  10. 通过js跳转url下载包含中文的文件乱码问题解决方案(java)