2013-02-26 83 views
7

阻止我切换到cloud9的东西是缺少对matplotlib的支持,因为绘制事物对我的工作非常重要。支持cloud9 ide和matplotlib或其他Python图形工具?

我已经尝试安装matplotlib,但似乎有一些pygtk的问题,即使它似乎安装。在线ide是否可以与本地计算机上的gtk窗口进行交互?也许这些图表可以远程生成并保存到我的目录中?

如果有人成功地管理了这件事,那将会很棒,这会让我感觉如何?

+0

我会看看matlablotlib的'webagg'后端。它正在开发与ipython笔记本玩。让一个网站到达并抓取窗口级别控制对我来说似乎是一个巨大的安全问题。 – tacaswell 2013-02-26 15:25:21

回答

5

可以更改backend

import matplotlib 
matplotlib.use('Agg') 

,然后保存使用figure.savefig('filename')

+0

On Cloud9 python:'matplotlib.use('Agg')'then'import matplotlib.pyplot as plt' then'fig,ax = plt.subplots(1,1)'result in TclError:no display name and no $ DISPLAY环境变量 – 2015-03-01 21:42:06

+0

Ah:在导入'pyplot'之前必须调用'use()'。 – 2015-11-22 08:54:02

3

图正如大卫·阿德勒表示,你可以设置一个非GUI后端:

import matplotlib 
matplotlib.use('Agg') 
import matplotlib.pyplot as plt # Do not do this prior to calling use() 

您可以通过常用方式创建图形,除了保存:

fig, ax = plt.subplots(1, 1) 
ax.hist(numpy.random.randn(1000)) 
fig.savefig('display.svg') # Any filename will do 

在Cloud9中,您可以在预览选项卡中打开SVG。每次更新并保存图形时,刷新预览选项卡。