我正在尝试将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) 今天我想开始与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?
我正在脚本中生成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?
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.
我试图在我的Linux服务器上运行python脚本并制作并保存一些图.我已经安装ipython和pylab和matplotlib,但后来当我运行我的脚本,我得到这个错误:
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) 我想设置一个 cron 作业来运行 python 脚本,但它给了我这个错误:
RuntimeError: could not open display
Run Code Online (Sandbox Code Playgroud)
这是因为我导入了一个需要我打开显示的模块(pylab例如)。即使我的脚本没有生成任何图片显示在监视器上。
有什么方法可以让 crontab 在显示打开的情况下运行我的作业(就像我ssh -X进入机器一样)?我实际上不需要为监视器生成任何图形。我只需要正确导入我的模块。
我有一个无头的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.
我正在尝试使用 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 变量