Форум сайта python.su
Добрый день.
Я работаю в Spyder и часто строю какие-то графики через matplotlib. В связи с необходимостью запуска программы не из IDE, а из командной строки, возникла проблема: тот алгоритм, что строит графики в Spyder, в командной строке просто не работает, то есть программа выполняется, но графики matplotlib не строит.
Что делать?
Офлайн
а что пишет то? вы бы ошибку привели или пример
show() используете? в spyder вроде режим ion() включен по умолчанию, может его добавить надо в скрипт который через командную запускаете?
Офлайн
x.plot(T, B) x.grid(True) y.plot(T, A) y.grid(True) z.plot(range(len(D)), D) plt.grid(True) plt.show()
Офлайн
что за объекты x y z? честно не понял пример, как-то усложненно выглядит и 3-d я обычно не так строил. я со спайдером не особо знаком, может там свои способы.
Офлайн
x, y, z - объекты типа
pylab.subplot()
Офлайн
Набросал пример, стараясь быть ближе к оригиналу (я бы конечно сделал по другому). Всё работает без ошибок. Может у вас данные какие или еще что чего не видно в куске приведенного кода.
from pylab import * T=[1,2,3] B=T A=T D=T x = plt.subplot(311) x.plot(T, B) x.grid(True) y=plt.subplot(312) y.plot(T, A) y.grid(True) z=plt.subplot(313) z.plot(range(len(D)), D) plt.grid(True) plt.show()
Офлайн
asv13Видимо, что-то именно с моей машиной. Этот код тоже не работает из баша. Скажите пожалуйста, как бы Вы это реализовали?
Набросал пример, стараясь быть ближе к оригиналу (я бы конечно сделал по другому). Всё работает без ошибок. Может у вас данные какие или еще что чего не видно в куске приведенного кода.from pylab import * T=[1,2,3] B=T A=T D=T x = plt.subplot(311) x.plot(T, B) x.grid(True) y=plt.subplot(312) y.plot(T, A) y.grid(True) z=plt.subplot(313) z.plot(range(len(D)), D) plt.grid(True) plt.show()
Офлайн
Например так.
from pylab import * T=[1,2,3] B=A=D=T for i, y in ((1,A), (2,B), (3,D)): subplot(3,1,i) plot(T, y) grid(True) show()
Офлайн