使用 Graphlab 时如何显示绘图?

数据挖掘 Python 图表 蟒蛇
2022-02-05 10:42:09

抱歉,如果此主题未直接连接到数据科学。

我想了解Graphlab 工具的工作原理。首先,我想执行 Gallery 网站上的玩具示例。当我尝试执行示例代码时,除了一个命令外,一切都很好:我看不到 graphlab 之后的图show()该命令show()返回给我某种 IPython 中的对象,而 IPython Notebook 中什么也没有。

如果示例代码有绘图,它直接依赖于 matplotlib 模块,我可以生成真实的绘图并将其保存在我的机器上。因此,我认为主要错误取决于 graphlab (或其类中的对象)。如果有人已经使用了这个工具并渲染了情节,他/她能告诉我,我如何执行 plots 命令?

In [8]: import graphlab

In [9]: from IPython.display import display

        from IPython.display import Image

        graphlab.canvas.set_target('ipynb')

In [10]:import urllib

        url = 'https://s3.amazonaws.com/GraphLab-Datasets/americanMovies   /freebase_performances.csv'

        urllib.urlretrieve(url, filename='freebase_performances.csv')  # downloads an 8MB file to the working directory

Out[10]: ('freebase_performances.csv', <httplib.HTTPMessage instance at 0x7f44e153cf38>)

In [11]: data = graphlab.SFrame.read_csv('remote://freebase_performances.csv', column_type_hints={'year': int})

…………

In [15]:data.show()

此行后无情节……

In [19]:print data.show()

<IPython.core.display.Javascript object at 0x7f44e14c0850>

打印命令后的graphlab(?)的对象

1个回答

我找到了一些解决方案并将其发布在这里,因为使用 graphlab 的人可能有同样的问题。

我们可以看这里的例子:凯文培根的六度

在程序执行开始时,您需要运行下一个命令:

graphlab.canvas.set_target('ipynb')

正是这是整个问题的关键(至少对我来说:-)

一开始重要的是要知道set_target()要执行的命令的哪个参数。您可以为此命令的参数使用两个选项:( 'ipynb'直接在 iPython Notebook 中执行,如示例中所示)或'browser'(打开带有绘图的新窗口)在我的机器 64 位 Ubuntu 上,我无法使用该命令'ipynb'. 只有'browser'- 命令才能让我恢复情节。我不认为,将https更改为http是必要的,但无论如何你都可以这样做。我们还有另一台机器(32 位,Ubuntu),它执行其他命令'ipynb',但不执行'browser'(无需将 https 更改为 http)