相关疑难解决方法(0)

有没有办法分离matplotlib图,以便计算可以继续?

在Python解释器中的这些指令之后,获得一个带有绘图的窗口:

from matplotlib.pyplot import *
plot([1,2,3])
show()
# other code
Run Code Online (Sandbox Code Playgroud)

不幸的是,我不知道如何继续以交互方式探索show()在程序进行进一步计算时创建的图形.

有可能吗?有时计算很长,如果他们在检查中间结果期间继续进行计算会有所帮助.

python plot matplotlib

242
推荐指数
11
解决办法
21万
查看次数

如何在Python中设置matplotlib中的"后端"?

我是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)
  • 我安装了Anti-Grain Geometry库,apt-get install libagg但它不起作用.
  • 我尝试使用后端的其他参数,如'GTK'和'TkAgg'.
  • 我安装了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)

python linux graphics matplotlib

74
推荐指数
6
解决办法
14万
查看次数

我可以使用Matplotlib在每个循环期间生成并显示不同的图像吗?

我是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代码.

python matlab matplotlib

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

标签 统计

matplotlib ×3

python ×3

graphics ×1

linux ×1

matlab ×1

plot ×1