小编TMo*_*ver的帖子

如何在matplotlib中为3d plot_surface设置动画

我已经从文件创建了一个3D绘图表面,我正在尝试为该绘图设置动画.我已经阅读了matplotlib网页中的示例和SO中的其他示例,并注意到我需要创建一个更新函数来循环遍历文件中的值,然后创建一个matplotlib.animation对象,但我不明白该怎么做.

如果有人能够解释更新函数的语法以及如何在matplotlib.animation对象中使用它,我将非常感激.

我的数据是一个多维数组,有498行,每行我有一个64x128值的数组.数据按以下方式组织:

数据是来自力板的时间序列,500行中的每一行都是一帧,这意味着该试验持续10秒.对于每个帧,我有另一个64x128值的数组.

这是我的代码,直到现在:

from mpl_toolkits.mplot3d import *
import matplotlib.pyplot as plt
import numpy as np
from random import random, seed
from matplotlib import cm
from mpl_toolkits.mplot3d import axes3d
import matplotlib.animation as animation

source_path = "c:\\Projecto\\"
destination_path = "c:\\Projecto\\EntirePlate\\"
#fid = np.loadtxt(source_path + "rolloff_xls.txt",dtype=str)

fid_MP = open(source_path + "101mp - Entire plate roll off.xls","Ur")
lines_MP = fid_MP.readlines()
fid_MP.close()

values_MP = []

for i in lines_MP:
      if i[0].isdigit():
          values_MP.append(i)

values = np.loadtxt(values_MP,dtype=float)

new_values_MP =[]

for i …
Run Code Online (Sandbox Code Playgroud)

python matplotlib jquery-animate

10
推荐指数
1
解决办法
7143
查看次数

如何删除Matplolib中使用Mouse Over Event创建的绘图线?

我在带有鼠标悬停事件的情节中创建了一条垂直线和一条水平线.这些行旨在帮助用户选择在绘图中单击的位置.我的问题是,当鼠标移动到绘图上时,先前绘制的线不会消失.有人能解释我怎么做吗?
在OnOver函数中绘制绘图之后我使用了ax.lines.pop()但是没有用.

这是我正在使用的代码

from matplotlib import pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(np.random.rand(10))


def OnClick(event):
    print 'button=%d, x=%d, y=%d, xdata=%f, ydata=%f'%(
        event.button, event.x, event.y, event.xdata, event.ydata)

def OnOver(event):
    x = event.xdata
    y = event.ydata
    ax.axhline(y)
    ax.axvline(x)
    plt.draw()  


did = fig.canvas.mpl_connect('motion_notify_event', OnOver)   
#iii = fig.canvas.mpl_disconnect(did) # get rid of the click-handler
cid = fig.canvas.mpl_connect('button_press_event', OnClick)

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助.伊沃

python matplotlib

4
推荐指数
1
解决办法
2812
查看次数

如何删除 axvspan 线?

我有一个包含时间序列和一条或多条 axvspan 线的图,以突出显示某些区域并提取时间序列值和即时值,但我希望能够使用按钮删除一条或所有这些 axvspan 线。我查看了一些有关如何删除线的示例(How can I deleteplotlinescreated with Mouse Over Event in Matplolib?),但我无法\xc2\xb4t找到与 axvspan 线相关的任何内容。\n这是我\用于创建 axvspan 线

\n\n
    def on_click(event):\n        global x0\n        x0 = event.xdata\n\n    def on_release(event):\n        global force_values\n        if force_value == "Min":\n            self.axes.axvspan(x0,event.xdata, facecolor=\'y\', alpha=0.5)\n            get_data(frames,force_values,x0,event.xdata)\n        else:\n            self.axes.axvspan(x0,event.xdata, facecolor=\'r\', alpha=0.5)\n            get_data(frames,force_values,x0,event.xdata)\n
Run Code Online (Sandbox Code Playgroud)\n\n

在此先感谢您的帮助。\n亲切的问候\n伊沃

\n

python matplotlib

1
推荐指数
1
解决办法
2095
查看次数

标签 统计

matplotlib ×3

python ×3

jquery-animate ×1