在Python解释器中的这些指令之后,获得一个带有绘图的窗口:
from matplotlib.pyplot import *
plot([1,2,3])
show()
# other code
Run Code Online (Sandbox Code Playgroud)
不幸的是,我不知道如何继续以交互方式探索show()在程序进行进一步计算时创建的图形.
有可能吗?有时计算很长,如果他们在检查中间结果期间继续进行计算会有所帮助.
我是matplotlib的新用户,我的平台是Ubuntu 10.04 Python 2.6.5
这是我的代码
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
plt.plot([1,2,3])
Run Code Online (Sandbox Code Playgroud)
错误是:
/usr/local/lib/python2.6/dist-packages/matplotlib/backends/__init__.py:41: UserWarning:
Your currently selected backend, 'agg' does not support show().
Please select a GUI backend in your matplotlibrc file ('/usr/local/lib/python2.6/dist-packages/matplotlib/mpl-data/matplotlibrc')
or with matplotlib.use()
(backend, matplotlib.matplotlib_fname()))
Run Code Online (Sandbox Code Playgroud)
apt-get install libagg但它不起作用.python-gtk2-dev包,但仍然出现错误.这是错误:
>>> matplotlib.use('GTK')
>>> import matplotlib.pyplot as plt
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.6/dist-packages/matplotlib/pyplot.py", line 95, in <module>
new_figure_manager, draw_if_interactive, show = …Run Code Online (Sandbox Code Playgroud) 我是Matplotlib和Python的新手.我大多使用Matlab.目前,我正在使用Python代码,我想运行一个循环.在每个循环中,我将进行一些数据处理,然后根据处理的数据显示图像.当我进入下一个循环时,我希望关闭先前存储的图像并基于最新数据生成新图像.
换句话说,我想要一个等效于以下Matlab代码的python代码:
x = [1 2 3];
for loop = 1:3
close all;
y = loop * x;
figure(1);
plot(x,y)
pause(2)
end
Run Code Online (Sandbox Code Playgroud)
我尝试了以下python代码来实现我的目标:
import numpy as np
import matplotlib
import matplotlib.lib as plt
from array import array
from time import sleep
if __name__ == '__main__':
x = [1, 2, 3]
for loop in range(0,3):
y = numpy.dot(x,loop)
plt.plot(x,y)
plt.waitforbuttonpress
plt.show()
Run Code Online (Sandbox Code Playgroud)
此代码将所有图形叠加在同一图中.如果我将plt.show()命令放在for循环中,则只显示第一个图像.因此,我无法在Python中复制我的Matlab代码.