python绘制动态圆_python – 在2D动画上绘制可变大小和位置的圆圈
我在
Python 3.3中使用matplotlib.我有一个动画的2D和3D窗口,我在上面绘制点.这些点代表对象,但不确定它们实际上是在那里.所以我想围绕这些点绘制一个圆圈来显示不确定性.这种不确定性是变化的,所以底线:我想在具有可变中心和可变半径的2D动画中绘制多个(可能是0,可能是100)圆周.
我试过散布. Scatter看起来非常有前景,直到我调整屏幕大小:散点的大小以像素为单位,与轴的大小无关.知道我怎么能这样做吗?
我尝试了以下分散代码:
#In the init
self.circles = self.ax.scatter([],[],[],c = 'b',alpha=0.6)
#In the animate function
self.circles.set_offsets([[10],[15]])
self.circles._sizes = [2000]
中心点是正确的,在x = 10和y = 15时.但是大小是以像素为单位的大小,与轴无关.在这种情况下,我预计圆圈会达到x = 10和y = 20015.但事实并非如此.
当我调整窗口大小时,这会成为一个问题.
最佳答案 绘图集合更快,所以我修改了scatter()返回的PathCollection对象的draw()函数.新的draw()使用transData来计算每个圆的比例,它使用每个圆的大小作为直径.
import pylab as pl
import numpy as np
from matplotlib.collections import Collection
from matplotlib import transforms
import matplotlib.animation as animation
fig = pl.figure()
N = 40
x, y = np.random.rand(2, N)
color = np.random.rand(N)
r = np.random.rand(N) * 0.05 + 0.05
c = pl.scatter(x, y, s=r, c=color, alpha=0.5, animated=True)
pl.gca().set_aspect("equal")
def draw(self, renderer):
if self._sizes is not None:
m = self.axes.transData.get_matrix()
self._transforms = [
transforms.Affine2D().scale(m[0, 0]*x, m[1, 1]*x)
for x in self._sizes]
return Collection.draw(self, renderer)
c.draw = lambda renderer:draw(c, renderer)
def update_loc(n):
global x2, y2, x, y
n = n % 50
if n == 0:
x2, y2 = np.random.rand(2, N)
x += (x2 - x) * 0.1
y += (y2 - y) * 0.1
c.set_offsets(np.c_[x, y])
return c,
ani = animation.FuncAnimation(fig, update_loc, 2500, interval=50, blit=True)
pl.show()
这是动画的框架:
python绘制动态圆_python – 在2D动画上绘制可变大小和位置的圆圈相关推荐
- python画旋转圆_Python使用PyQt界面库绘制不停旋转的圆控件
Python是一种面向对象的高级动态编程语言,相对于其它如C/C++语言,具有上手快.代码量少.开发效率高等特点,Qt是跨平台的C++图形用户界面应用程序开发框架,是当前主流的GUI开发工具之一,其在 ...
- python简单动态图_python动态图的绘制和保存
前言 这段时间要做一个涉及排队论的数学建模,需要动态绘图.建好了模,却没想到在原以为简单的绘图上耗费了我大量时间.原因在于用python作动态绘图的参考资料过于琐碎.因此在我费了九牛二虎之力终于实现动 ...
- python函数画圆_python圆形_python圆形绘制_python圆形函数 - 云+社区 - 腾讯云
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 今天上课老师布置了一道pthon的课题,关键是和数学有关数学又是我的弱项头有点小 ...
- 数据可视化: matplotlib绘制动态图及3维动画
动画可以有趣地展示某种现象.相比于静态图表,人们更容易被动画和交互式的图表所吸引.在描绘时间序列数据时,动画更有意义,例如多年来股票价格的波动,过去十年气候的季节性变化和和趋势,因为我们可以看到特定参 ...
- python怎么计算圆_python计算圆心
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 导语:这几天,小编学习到了一个好玩的摄像头图像圆心计算的程序代码. 另外,小编t ...
- 用python画面积图_Python笔记:用matplotlib绘制面积图
用pyecharts绘制出来的面积图.圆环图太有个性了,未免感觉有点"高处不胜寒".今晚虽然休息,但继用matplotlib绘制折线图之后,我又心血来潮地想用matplotlib来 ...
- python 为什么动态语言_Python动态语言
python 说Python是动态语言,是由于Python可以在代码运行中可以做更改,但是像C.Java之类的需要编译的语言,由于做过编译就不可以做修改了,所以是静态语言.但是像Python.PHP. ...
- python是动态语言_Python是动态语言:动态添加或删除属性、方法
Python是动态语言:动态编辑属性.动态编辑方法 1.运行过程中给对象绑定.删除属性 实例: class Person(): def __init__(self,name): self.name=n ...
- python制作动态时钟_python+pygame制作一个可自定义的动态时钟和详解
#第1步:导出模块 importsys, random, math, pygamefrom pygame.locals import * from datetime importdatetime, d ...
最新文章
- DevExpress.XtraReports打印
- IPMSM弱磁控制策略
- 线程方法destroy()和stop(Throwable)在JDK 11中删除
- webbrowser实现input tab事件_如何合理构造一个Uploader工具类(设计到实现)
- mpi4py linux例子,python-3.x – mpi4py中的共享内存
- 关于二维数组取地址加以或减一解引用问题
- 宽带连接不上,拨号宽带连接的创建。
- ajax异步加载网页爬虫
- iphone6出信号 无服务器,苹果6手机无服务(非常见故障点)维修
- 驱动INF文件解析和 为自己的设备安装指定驱动
- 计算机mac地址设置路由器,路由器设置:如何查看电脑/手机的MAC地址?
- PDF转换器可以做到PDF转Office,TXT,HTM,PDF文件;PDF合并拆分,压缩,加密解密!
- 【mmdetection】对VOC格式的数据集进行测试
- OCR识别新能源车牌的原理
- 上海市计算机应用基础答案,计算机应用基础10统考(附答案)
- 个人网站必备的 10 个开源后台管理UI库
- 项目1在线交流平台-7.构建安全高效的企业服务-2.使用Security自定义社区网页认证与授权
- 关于单向TSP旅行商问题/修路问题/最小生成树问题的求解讨论
- 国外手游公司老板们如何开发游戏?
- JS–for循环嵌套
热门文章
- 房地产行业唯美大气工作总结汇报PPT模板
- Linux中安装和使用Translate Shell
- 微信小程序开发实战2 微信小程序编程基础
- 光通讯汉枫模块与盒子汉枫模块的设置
- BZOJ 4033: [HAOI2015]T1
- X射线食品检测仪市场现状及未来发展趋势
- polyspace和matlab的关系,关于Polyspace应用到基于模型的设计可能性分析和介绍
- 【历史上的今天】2 月 27 日:UML 之父出生;微软宣布全球望远镜计划;苹果停止支持 Newton OS
- [转]女孩,看完之后请别流下幸福的眼泪(图组)
- nginx启动后访问的是nginx主页而不是自己的页面、使用以前虚拟机配置的linux系统并把虚拟网络修改回来,但是链接超时的问题解决办法