Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 20, 2010 16:21:26

d4nnt
От:
Зарегистрирован: 2010-04-14
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

matplotlib и обновление Axes3D

Нужно: выводить на 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()
Вопрос: Как ее обновлять, используя цикл?



Офлайн

#2 Апрель 21, 2010 11:28:02

Evgeny
От:
Зарегистрирован: 2009-08-09
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

matplotlib и обновление Axes3D

У меня вот такой код работает


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()



Офлайн

#3 Апрель 22, 2010 20:12:50

d4nnt
От:
Зарегистрирован: 2010-04-14
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

matplotlib и обновление Axes3D

Спасибо за пример! Работает.

Теперь хочу увеличить скорость, если это возможно. Может быть можно удалять обьект на осях, а не очищать их.
Подскажите где почитать про работу с графиками.



Офлайн

#4 Апрель 23, 2010 11:26:14

Evgeny
От:
Зарегистрирован: 2009-08-09
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

matplotlib и обновление Axes3D

Можно здесь поискать:
http://matplotlib.sourceforge.net/contents.html

Вот еще книга неплохая:
Matplotlib for Python Developers (2009)



Офлайн

#5 Июнь 7, 2010 16:50:25

AleksSR
От:
Зарегистрирован: 2010-06-02
Сообщения: 44
Репутация: +  0  -
Профиль   Отправить e-mail  

matplotlib и обновление Axes3D

Приветствую! Не поможете с с построением 3d поверхности по данным из текстового файла? Подробное описание здесь. Спасибо за помощь.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version