Python中文
首页
教程
问答
标签
搜索
登录
注册
用Python制作直方图的动画
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在尝试随着时间的推移绘制直方图的动画,到目前为止,我得到的代码如下:</p> <pre><code>import matplotlib.pyplot as plt import numpy as np import time plt.ion() fig = plt.figure() ax = fig.add_subplot(111) alphab = ['A', 'B', 'C', 'D', 'E', 'F'] frequencies = [1, 44, 12, 11, 2, 10] pos = np.arange(len(alphab)) width = 1.0 # gives histogram aspect to the bar diagram ax.set_xticks(pos + (width / 2)) ax.set_xticklabels(alphab) for bin_idx in np.linspace(0,1000000,100000000): t = time.time() #Here we just change the first bin, so it increases through the animation. frequencies[0] = bin_idx line1 =plt.bar(pos, frequencies, width, color='r') plt.draw() elapsed = time.time() - t print elapsed </code></pre> <p>代码可以工作,但是输出显示在经过一些迭代之后,它会变得比开始时慢得多。有没有一种方法可以加快速度,我们想实时更新它,它运行的过程相当快。在</p> <p>另外,需要注意的是,我不需要后期处理的动画,我们需要实时更新,所以直方图动画示例不适用于这个特定的过程。在</p> <p>谢谢</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我认为您的代码会变慢,因为您没有清除数字,所以每次迭代都会在另一个上面重复柱状图。在</p> <p>在<code>line1 = ...</code>之前添加一个<code>plt.clf()</code>调用将清除现有的图形。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
4 回答
无法使用Django\u mssql\u后端迁移到外部hos
3 回答
无法使用Django&Python3.4连接到MySql
8 回答
无法使用Django+nginx上载媒体文件
1 回答
无法使用Django1.6导入名称模式
10 回答
无法使用Django1.7和mongodb登录管理站点
2 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
10 回答
无法使用Djangockedi验证CBV中的字段
10 回答
无法使用Djangocketditor上载图像(错误400)
3 回答
无法使用Djangocron进行函数调用
8 回答
无法使用Djangofiler djang上载文件
5 回答
无法使用Djangokronos
4 回答
无法使用Djangomssql provid
5 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
9 回答
无法使用Djangomssq迁移Django数据库
1 回答
无法使用Djangonox创建用户
7 回答
无法使用Djangopyodb从Django查询SQL Server
4 回答
无法使用Djangopython3ldap连接到ldap
6 回答
无法使用Djangoredis连接到redis
5 回答
无法使用Django中的FK创建新表
1 回答