d4nnt
Апрель 20, 2010 16:21:26
Нужно: выводить на 3D оси поверхность и периодически ее обновлять(изменять пределы по X или Y).
Сейчас реализован только вывод поверхности.
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
import matplotlib.pyplot as plt
import numpy as np
import random
fig = plt.figure()
ax = Axes3D(fig)
X = np.arange(-10, 10, 0.3)
Y = np.arange(-10, 10, 0.3)
X, Y = np.meshgrid(X, Y)
Z = np.sin(Y)+np.sin(X)/5+np.random.normal(0,1,(len(X),len(Y)))/10
ax.plot_surface(X, Y, Z, rstride=1, cstride=1,cmap=cm.bone)
plt.show()
Вопрос: Как ее обновлять, используя цикл?
Evgeny
Апрель 21, 2010 11:28:02
У меня вот такой код работает
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
import matplotlib.pyplot as plt
import numpy as np
import random
fig = plt.figure()
ax = Axes3D(fig)
fig.show()
X = np.arange(-10,10,0.3)
Y = np.arange(-10, 10, 0.3)
X, Y = np.meshgrid(X, Y)
for count in range(5):
Z = np.sin(Y+count)+np.sin(X+count)/5+np.random.normal(0,1,(len(X),len(Y)))/10
ax.clear()
ax.plot_surface(X, Y, Z, rstride=1, cstride=1,cmap=cm.jet)
plt.draw()
raw_input()
d4nnt
Апрель 22, 2010 20:12:50
Спасибо за пример! Работает.
Теперь хочу увеличить скорость, если это возможно. Может быть можно удалять обьект на осях, а не очищать их.
Подскажите где почитать про работу с графиками.
Evgeny
Апрель 23, 2010 11:26:14
Можно здесь поискать:
http://matplotlib.sourceforge.net/contents.html Вот еще книга неплохая:
Matplotlib for Python Developers (2009)
AleksSR
Июнь 7, 2010 16:50:25
Приветствую! Не поможете с с построением 3d поверхности по данным из текстового файла? Подробное описание
здесь. Спасибо за помощь.