相关疑难解决方法(0)

当DISPLAY未定义时,使用matplotlib生成PNG

我正在尝试将networkx与Python一起使用.当我运行此程序时,它会收到此错误.有什么遗漏?

#!/usr/bin/env python

import networkx as nx
import matplotlib
import matplotlib.pyplot
import matplotlib.pyplot as plt

G=nx.Graph()
G.add_node(1)
G.add_nodes_from([2,3,4,5,6,7,8,9,10])
#nx.draw_graphviz(G)
#nx_write_dot(G, 'node.png')
nx.draw(G)
plt.savefig("/var/www/node.png")


Traceback (most recent call last):
  File "graph.py", line 13, in <module>
    nx.draw(G)
  File "/usr/lib/pymodules/python2.5/networkx/drawing/nx_pylab.py", line 124, in draw
    cf=pylab.gcf()
  File "/usr/lib/pymodules/python2.5/matplotlib/pyplot.py", line 276, in gcf
    return figure()
  File "/usr/lib/pymodules/python2.5/matplotlib/pyplot.py", line 254, in figure
    **kwargs)
  File "/usr/lib/pymodules/python2.5/matplotlib/backends/backend_tkagg.py", line 90, in new_figure_manager
    window = Tk.Tk()
  File "/usr/lib/python2.5/lib-tk/Tkinter.py", line 1650, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, …
Run Code Online (Sandbox Code Playgroud)

python graph matplotlib

309
推荐指数
9
解决办法
17万
查看次数

Tkinter:"可能没有为Tk配置Python"

今天我想开始与Tkinter合作,但我遇到了一些问题.

Python 3.2 (r32:88445, Mar 28 2011, 04:14:07) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from tkinter import *
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.2/tkinter/__init__.py", line 39, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter
Run Code Online (Sandbox Code Playgroud)

那么如何配置我的Python 3.2以使用Tkinter?

python tkinter python-3.x

65
推荐指数
9
解决办法
11万
查看次数

使用matplotlib自动检测显示可用性

我正在脚本中生成matplotlib数字,我可以在有或没有图形显示的情况下交替运行.我希望脚本能够自动调整:通过显示,它应该以交互方式显示数字,而没有显示,它应该只是将它们保存到文件中.

没有正在运行的X服务器生成matplotlib图的问题的答案,我了解到可以使用Agg后端进行非交互式绘图.

所以我正在尝试使用此代码:

import matplotlib
try:
    import matplotlib.pyplot as plt
    fig = plt.figure()
    havedisplay = True
except:
    matplotlib.use("Agg")
    import matplotlib.pyplot as plt
    fig = plt.figure()
    havedisplay = False
# do the plotting
if havedisplay:
    plt.show()
else:
    fig.savefig("myfig.png")
Run Code Online (Sandbox Code Playgroud)

这在带有显示器的情况下是例外的.但是,如果没有显示,则调用matplotlib.use无效,因为已经选择了显示.很明显我matplotlib.use之前应该打电话import matplotlib.pyplot,但后来我不知道如何测试显示器是否可用.

我也试过使用实验函数matplotlib.switch_backend而不是matplotlib.use,但这会产生RuntimeError.

有人知道如何使上述代码按预期工作,或者可以建议另一种方法来检测显示器是否可用于matplotlib?

python linux matplotlib

15
推荐指数
3
解决办法
4763
查看次数

在ssh中导入pyplot时,TypeError构造函数返回NULL

matplotlib.pyplot当我使用ssh访问我的本地实验室群集时,我无法导入.

确实,试图import matplotlib.pyplot as plt给我一个错误.我试过import matplotlib as mpl,这很好,所以特别关于导入的东西pyplot在这里是错误的.追溯的最后一行说

File '/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtk3.py', line 58, in <module> cursors.MOVE : Gdk.Cursor.new(Gdk.CursorType.FLEUR), TypeError: constructor returned NULL

谁能在这里找出错误?或者,有没有办法可以规避错误并仍然使用这些pyplot工具?

如果它有所作为,我使用的是Windows 8.

python windows ssh matplotlib

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

导入Matplotlib没有显示

我试图在我的Linux服务器上运行python脚本并制作并保存一些图.我已经安装ipythonpylabmatplotlib,但后来当我运行我的脚本,我得到这个错误:

Traceback (most recent call last):
  File "/root/dining_hall_graph.py", line 14, in <module>
    from pylab import * 
  File "/usr/lib64/python2.7/site-packages/pylab.py", line 1, in <module>
    from matplotlib.pylab import *
  File "/usr/lib64/python2.7/site-packages/matplotlib/pylab.py", line 265, in <module>
    from matplotlib.pyplot import *
  File "/usr/lib64/python2.7/site-packages/matplotlib/pyplot.py", line 97, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "/usr/lib64/python2.7/site-packages/matplotlib/backends/__init__.py", line 25, in pylab_setup
    globals(),locals(),[backend_name])
  File "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtkagg.py", line 10, in <module>
    from matplotlib.backends.backend_gtk import gtk, FigureManagerGTK, FigureCanvasGTK,\
  File "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtk.py", line 13, in <module>
    import …
Run Code Online (Sandbox Code Playgroud)

python linux matplotlib

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

Cron 作业:如何运行需要打开显示的脚本?

我想设置一个 cron 作业来运行 python 脚本,但它给了我这个错误:

RuntimeError: could not open display
Run Code Online (Sandbox Code Playgroud)

这是因为我导入了一个需要我打开显示的模块(pylab例如)。即使我的脚本没有生成任何图片显示在监视器上。

有什么方法可以让 crontab 在显示打开的情况下运行我的作业(就像我ssh -X进入机器一样)?我实际上不需要为监视器生成任何图形。我只需要正确导入我的模块。

python linux x11 cron crontab

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

在无头Ubuntu 14.04服务器上使用matplotlib

我有一个无头的Ubuntu 14.04服务器,我使用SSH远程连接.我想使用matplotlib并在ssh客户端上显示图.例如,我将连接使用:

ssh -X name@server.com
Run Code Online (Sandbox Code Playgroud)

然后从Python控制台,我希望这在窗口中生成一个图:

import matplotlib.pyplot as plt
plt.plot(range(10))
plt.show()
Run Code Online (Sandbox Code Playgroud)

我已经在我的virtualenv中安装了matplotlib,我跑了sudo apt-get install python-gtk2,但情节仍然没有出现.我想我错过了很多包.什么是我可以安装的相关最小的X相关软件包,以使其工作?我不想安装ubuntu-desktop.

python ssh ubuntu matplotlib

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

使用 cron 运行 python 脚本,matplotlib 错误

我正在尝试使用 cron 运行 python 脚本。该脚本从命令行运行时没有问题,但从 cron 运行时,matplotlib 出现问题。错误如下。

回溯(最近一次调用最后一次):

文件“/home/ubuntu/python/spread.py”,第 154 行,在 plot_spread(lat, lon, vals, mean, maxs, mins, stdp, stdm, ens_members)

文件“/home/ubuntu/python/spread.py”,第 81 行,在 plot_spread plt.fill_between(x, maxs, stdp, color='r', alpha=0.2)

文件“/usr/lib/python2.7/dist-packages/matplotlib-1.5.0_818.gfd83789-py2.7-linux-x86_64.egg/matplotlib/pyplot.py”,第2785行,在fill_between ax = gca()

文件“/usr/lib/python2.7/dist-packages/matplotlib-1.5.0_818.gfd83789-py2.7-linux-x86_64.egg/matplotlib/pyplot.py”,第928行,gca返回gcf()。 gca(**kwargs)

文件“/usr/lib/python2.7/dist-packages/matplotlib-1.5.0_818.gfd83789-py2.7-linux-x86_64.egg/matplotlib/pyplot.py”,第578行,gcf返回图()

文件“/usr/lib/python2.7/dist-packages/matplotlib-1.5.0_818.gfd83789-py2.7-linux-x86_64.egg/matplotlib/pyplot.py”,第527行,图**kwargs)

文件“/usr/lib/python2.7/dist-packages/matplotlib-1.5.0_818.gfd83789-py2.7-linux-x86_64.egg/matplotlib/backends/backend_qt4agg.py”,第46行,new_figure_manager return new_figure_figurer数量,这个图)

文件“/usr/lib/python2.7/dist-packages/matplotlib-1.5.0_818.gfd83789-py2.7-linux-x86_64.egg/matplotlib/backends/backend_qt4agg.py”,第53行,在new_figure_manager_givenQfigureTA canvas = (数字)

文件“/usr/lib/python2.7/dist-packages/matplotlib-1.5.0_818.gfd83789-py2.7-linux-x86_64.egg/matplotlib/backends/backend_qt4agg.py”,第76行,在init FigureCanvasQT中。初始化(自我,数字)

文件“/usr/lib/python2.7/dist-packages/matplotlib-1.5.0_818.gfd83789-py2.7-linux-x86_64.egg/matplotlib/backends/backend_qt4.py”,第68行,在init _create_qApp()

文件“/usr/lib/python2.7/dist-packages/matplotlib-1.5.0_818.gfd83789-py2.7-linux-x86_64.egg/matplotlib/backends/backend_qt5.py”,第138行,在_create_qApp引发运行时错误( '无效的 DISPLAY 变量')

运行时错误:无效的 DISPLAY 变量

python cron matplotlib

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

标签 统计

python ×8

matplotlib ×6

linux ×3

cron ×2

ssh ×2

crontab ×1

graph ×1

python-3.x ×1

tkinter ×1

ubuntu ×1

windows ×1

x11 ×1