相关疑难解决方法(0)

建议的绘图方式是:matplotlib还是pylab?

我看到我可以用Python 绘图:

import matplotlib
matplotlib.pyplot.plot(...)
Run Code Online (Sandbox Code Playgroud)

要么:

import pylab
pylab.plot(...)
Run Code Online (Sandbox Code Playgroud)

这两个都使用相同的matplotlib绘图代码.

那么,Python社区推荐哪一种作为更好的绘图方法呢?为什么?

python matplotlib

83
推荐指数
2
解决办法
3万
查看次数

PyCharm不会正确打开matplotlib图

我有一个PyCharm和matplotlib的问题,我似乎无法纠正.

当我使用PyCharm和ipython作为解释命令的控制台时,在我保存图形之前不会显示图形.但是,当我尝试从PyCharm外部绘图时,这不会发生.

这是一个在PyCharm 中失败的exmaple进程:

In[2]: import matplotlib.pyplot as plt
Backend MacOSX is interactive backend. Turning interactive mode on.

In[3]: plt.plot([1,2,3,4],[1,4,9,16], 'ro')
Run Code Online (Sandbox Code Playgroud)

打开一个标有"图1"标签的窗口.但是,没有绘图,鼠标悬停在它上面时切换到SPOD(我在Mac上).此时,我可以试试

In[4]: plt.show()
Run Code Online (Sandbox Code Playgroud)

但仍然没有出现情节.但是,如果我这样做:

In[5]: plt.savefig('foo.png')
Run Code Online (Sandbox Code Playgroud)

不仅用该名称保存图形,图形显示在图1窗口中.请注意,PyCharm已经设置了交互模式,并且已经识别出我的后端(应该是?)MacOS.

我在通用终端会话中通过python和ipython控制台使用相同的过程,甚至通过emacs,并且在所有情况下,情节都出现在调用plt.plot()线路上.无需plt.show()通话.

实际上,我甚至可以通过PyCharm使用终端并获得所需的情节.一个答案是我应该使用这些方法进行绘图并忽略PyCharm.然而,假设我发现PyCharm的"花里胡哨"足够吸引人,我真的想用它作为我的IDE,但希望能够检查情节而不必经历plt.savefig()麻烦(因为我没有我想要保持我尝试的每一个阴谋.

我也试过切换后端plt.switch_backend().我已经尝试了列出的所有选项,所有这些选项都失败的原因主要是没有安装某些软件包或者系统错误.我没有尝试安装任何东西来使用新的后端,所以我不知道是否有另一个正确安装的后端可以解决这个问题.当然,更愿意尝试!

系统细节:

MacBookPro Retina 2012年中期,16GB内存,优胜美地10.10

Python 3.4.2

ipython 2.3.1

PyCharm Community Edition 4.0.4

请注意,我已根据以下问题审核并尝试了各种修补程序:

Python图将无法打开

如何在matlab/python中切换后端

PyCharm + Matplotlib?

Matplotlib图被困(灰色窗口)

尽管我打电话给pyplot.show(),matplotlib也没有显示我的图画

编辑 如下面的评论中所述,这似乎是一个错误,而不是我的设置失败.因此,我正在修改这个问题,询问是否有已知的解决方法.

python plot matplotlib pycharm

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

为什么pyplot.show()不起作用?

可能重复:
尽管我调用了pyplot.show(),matplotlib也没有显示我的绘图

我是Matplotlib的新手,遇到过这个问题.我正在使用Ubuntu系统.我从Matplotlib 0.99开始,意识到我真的需要新版本中"triplot"的新功能.所以我下载了最新版本

git clone git://github.com/matplotlib/matplotlib.git
Run Code Online (Sandbox Code Playgroud)

并安装它.但是,当我以交互方式使用python时,pyplot.show()并没有向我显示我绘制的图形,也没有响应任何错误消息.pyplot.show()确实在旧版本的matplotlib 0.99中工作.

更具体地说,我似乎没有问题导入包中的"matplotlib"或模块; 我可以生成一堆数字的pdf文件,但我不能通过pyplot.show()在代码末尾输入来显示数字.谁能帮我?谢谢!

python matplotlib

21
推荐指数
1
解决办法
3万
查看次数

eclipse下无法用matplotlib显示绘图

我在 Eclipse 下使用 matplotlib 遇到了一个奇怪的问题,我已经测试了这段代码,并且在命令行中工作正常:

import matplotlib.pyplot as plt
import matplotlib.pylab as pylab
plt.plot([1,2,3,4])
plt.ylabel('some numbers')
plt.show()
Run Code Online (Sandbox Code Playgroud)

但是当我在 Eclipse 下执行这段代码时,没有任何显示。我看到 pydev 理解我的所有导入并且没有错误消息。

python eclipse drawing matplotlib pydev

5
推荐指数
1
解决办法
8228
查看次数

在 Python virtualenv 中更改 matplotlib 后端

我已经安装了一个virtualenvpyenv使用Python v2.7.12。在这个 virtualenv 中,我matplotlib通过以下方式安装了v1.5.1:

pip install matplotlib
Run Code Online (Sandbox Code Playgroud)

没有问题。问题是一个简单的

import matplotlib.pyplot as plt
plt.scatter([], [])
plt.show()
Run Code Online (Sandbox Code Playgroud)

脚本无法生成绘图窗口。我在 virtualenv 中看到的后端使用:

import matplotlib
print matplotlib.rcParams['backend']
Run Code Online (Sandbox Code Playgroud)

is agg,这显然是问题的根本原因。如果我在系统范围的安装中检查后端,我会得到Qt4Agg(运行时上面的脚本显示一个绘图窗口就好了)。

SO中已经有几个类似的问题,我已经尝试了所有这些问题中给出的解决方案。

  1. Matplotlib plt.show() 不显示图形

    尝试使用--system-site-packages选项创建 virtualenv 。不行。

  2. 如何确保 Python 3 virtualenv 中的 matplotlib 使用 TkAgg 后端?

    已安装sudo apt install tk-dev,然后使用 重新安装pip --no-cache-dir install -U --force-reinstall matplotlib。后端仍然显示为agg.

  3. Matplotlib 在 vi​​rtualenv 中不显示图形

    遵循此答案中给出的安装说明,什么也没做(另一个答案涉及使用easy_install我不会这样做

  4. matplotlib 绘图窗口不会出现 …

python plot backend matplotlib virtualenv

5
推荐指数
0
解决办法
4092
查看次数

Matplotlib错误:libfreetype.6.dylib

我正在尝试运行以下python脚本(我正在使用Vim):

import numpy as np;
import scipy as sp;
from scipy import misc;
import matplotlib.pyplot as plt;
image = misc.imread('test_image.jpg');
np.fliplr(image);
plt.imshow(image);
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我得到以下内容:

Traceback (most recent call last):
  File "test.py", line 4, in <module>
    import matplotlib.pyplot as plt;
  File "/Library/Python/2.7/site-packages/matplotlib/pyplot.py", line 24, in <module>
    import matplotlib.colorbar
  File "/Library/Python/2.7/site-packages/matplotlib/colorbar.py", line 29, in <module>
    import matplotlib.collections as collections
  File "/Library/Python/2.7/site-packages/matplotlib/collections.py", line 23, in <module>
    import matplotlib.backend_bases as backend_bases
  File "/Library/Python/2.7/site-packages/matplotlib/backend_bases.py", line 50, in <module>
    import matplotlib.textpath as textpath
  File "/Library/Python/2.7/site-packages/matplotlib/textpath.py", line 11, …
Run Code Online (Sandbox Code Playgroud)

python matplotlib dylib freetype

1
推荐指数
1
解决办法
3004
查看次数

标签 统计

matplotlib ×6

python ×6

plot ×2

backend ×1

drawing ×1

dylib ×1

eclipse ×1

freetype ×1

pycharm ×1

pydev ×1

virtualenv ×1