- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个 NxN 网格,其中包含一些值,每个时间步都会改变。我找到了一种使用 matshow
函数绘制单个网格配置的方法,但我不知道如何在每个时间步更新状态。下面是一个简单的例子:
from pylab import *
from matplotlib import pyplot
a = arange(25)
a = a.reshape(5,5)
b = 10*rand(5,5)
matshow(a-b, cmap = cm.jet)
colorbar()
show()
这段代码产生如下图片:
现在假设下一个时间步某些值发生变化,这张图片也应该发生变化。这是我心中的逻辑:
from pylab import *
from matplotlib import pyplot
a = arange(25)
a = a.reshape(5,5)
time=10
for t in range(time):
b = 10*rand(5,5)
print b
matshow(a-b, cmap=cm.jet)
colorbar()
show()
这会产生 10 张图片。我想制作动画而不是生成单独的图片,例如我想选择更改之间的时间步长(即帧速率)。
此外,如果 matshow
不是可行的方法,我愿意接受有关不同功能的建议,但请保持简单,我相对缺乏经验。
最佳答案
matplotlib 1.1 有一个动画模块(查看 examples)。
使用 animation.FuncAnimation
你可以像这样更新你的情节:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
def generate_data():
a = np.arange(25).reshape(5, 5)
b = 10 * np.random.rand(5, 5)
return a - b
def update(data):
mat.set_data(data)
return mat
def data_gen():
while True:
yield generate_data()
fig, ax = plt.subplots()
mat = ax.matshow(generate_data())
plt.colorbar(mat)
ani = animation.FuncAnimation(fig, update, data_gen, interval=500,
save_count=50)
plt.show()
您可以使用以下方式保存动画:
ani.save('animation.mp4')
我用它来保存
ani.save('animation.mp4', clear_temp=False)
帧是保留的,您可以创建如下所示的动画 gif
convert *.png animation.gif
关于python - 动画二次网格变化(matshow),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10429556/
我正在尝试使用 matplotlib matshow 一起显示矩阵和相关矢量数据。 vec_data = np.array([[ 0., 1., 1., 1., 0., 1., 1.,
我有一个 101x101 矩阵,我想以图形方式显示它。到目前为止,我使用了 matplotlib.pyplot 中的函数 matshow,如下所示: import numpy as np import
我有一个 NxN 网格,其中包含一些值,每个时间步都会改变。我找到了一种使用 matshow 函数绘制单个网格配置的方法,但我不知道如何在每个时间步更新状态。下面是一个简单的例子: from pyla
我正在尝试制作这样的图形。绘图矩阵,每个都是数值矩阵的可视化。 我认为代码应该如下所示: 使用 PyPlot figure() for i in 1:100 subplot(10, 10, i
我想绘制一个数字矩阵(通过 matshow/imshow 完成)。然后我想在“轴边界上”绘制一些与轴相关的函数。 但是:我希望 matshow 输出有一个黑色边界框,但似乎我无法使用 edge_col
我正在使用 pyplot.matshow 绘制矩阵,并尝试使用 plt.gca().set_axisbelow(True) 使网格线显示在图后面,但它们始终处于打开状态顶部。如何在 matshow 后
想在matshow中看到比例尺,找了好久没找到答案。我怎么做? 代码很简单: def analyze_results(): l_points = [np.array([10, 9, -1]),
今天我尝试从我的分类模型中绘制混淆矩阵。 在一些页面中搜索后,我发现 pyplot 中的 matshow 可以帮助我。 import matplotlib.pyplot as plt from skl
我一个月前开始使用matplotlib,所以我还在学习。 我正在尝试用 matshow 做一个热图。我的代码如下: data = numpy.array(a).reshape(4, 4) cax =
我正在尝试可视化名称共现矩阵。这个版本工作正常: import pandas as pd import numpy as np import string import matplotlib.pypl
我有一个随时间变化的矩阵,我想将演化绘制成动画。 我的代码如下: import numpy as np import matplotlib.pyplot as plt from matplotlib
我已经很努力了,但我还是被 matplotlib 卡住了。请忽略,mpl 文档让我有点困惑。我的问题涉及以下方面: 我用 matshow 函数画了一个对称的 n*n 矩阵 D。行得通。 我想做同样的事
如何在这个例子中的子图之间没有空格? (如果我有更多行,请保持良好的可视化效果) 我已经看到我们所看到的可以随着 figsize 的值发生很大变化。 那么我们是否必须猜测 figsize 的“正确”值
基本上,我想制作类似下面的东西(三角形而不是通常用于 plt.matshow 的正方形)。 可以从四个二维数组开始,每个数组代表一组三角形的颜色值:右、左、下、上: import numpy as n
我正在尝试以宽高比 1 绘制 matshow,但是当我依赖建议的方法 here我在情节周围有一个无法摆脱的额外空间。解决办法是什么? import numpy as np from matplotli
我有一个二部图(1 和 0)的邻接矩阵以及该矩阵的双簇(行和列数组的数组)。如何使用 matplotlib matshow 为邻接矩阵中属于不同簇的元素(仅 1)设置不同的颜色? import num
我希望在热图中引入特定行/列之间的间隙,类似于 R 的 pheatmap gaps_row 或 gaps_col 参数。但粗略搜索后发现该功能似乎不可用。我考虑过通过创建具有特定尺寸的不同轴来模拟这种
我有一个代表网格的 6x6 矩阵。在该网格的一部分,我有一个较小的网格 (3x3),如下所示: In [65]: arr = np.zeros((6,6)) arr[0:3, 0:3] = 1 arr
我正在尝试在 Matplotlib 中使用 imshow 或 matshow 创建一个 10x10 网格。下面的函数将一个 numpy 数组作为输入,并绘制网格。但是,我希望数组中的值也显示在网格定义
我在 matplotlib 中使用 matshow(),生成的图形默认在顶部有 xticklabels。有没有办法将 xticklabels 放在底部? 感谢对此的任何帮助。/M 最佳答案 尝试执行以
我是一名优秀的程序员,十分优秀!