Plotly - 在线和离线绘图

下一章介绍在线和离线绘图的设置。我们先来了解一下在线绘图的设置。

在线绘图的设置

在线绘图的数据图表保存在您的plot.ly 帐户中。在线绘图由两种方法生成,这两种方法都会为绘图创建一个唯一的url并将其保存在您的 Plotly 帐户中。

  • py.plot() − 返回唯一的 url 并可选择打开该 url。

  • py.iplot() −在 Jupyter Notebook 中工作时,在笔记本中显示图表。

我们现在将以弧度显示角度与其正弦值的简单图表。首先,使用 numpy 库中的 arange() 函数获取 0 到 2π 之间的角度的 ndarray 对象。此 ndarray 对象用作图形 x 轴 上的值。通过以下语句 −

可获得 x 中应显示在 y 轴 上的角度的对应正弦值
import numpy as np
import math #needed for definition of pi
xpoints = np.arange(0, math.pi*2, 0.05)
ypoints = np.sin(xpoints)

接下来,使用 graph_objs 模块 中的 Scatter() 函数创建散点图。

trace0 = go.Scatter(
   x = xpoints,
   y = ypoints
)
data = [trace0]

使用上面的列表对象作为 plot() 函数的参数。

py.plot(data, filename = 'Sine wave', auto_open=True)

将以下脚本保存为 plotly1.py

import plotly
plotly.tools.set_credentials_file(username='lathkar', api_key='********************')
import plotly.plotly as py
import plotly.graph_objs as go
import numpy as np
import math #needed for definition of pi

xpoints = np.arange(0, math.pi*2, 0.05)
ypoints = np.sin(xpoints)
trace0 = go.Scatter(
   x = xpoints, y = ypoints
)
data = [trace0]
py.plot(data, filename = 'Sine wave', auto_open=True)

从命令行执行上述脚本。结果图将显示在浏览器中指定的 URL 中,如下所示。

$ python plotly1.py
High five! You successfully sent some data to your account on plotly. 
View your plot in your browser at https://plot.ly/~lathkar/0
Plot Graph

在显示的图表上方,您将看到 Plot、Data、Python 和 Rand Forking history 选项卡。

当前,已选择 Plot 选项卡。Data 选项卡显示包含 x 和 y 数据点的网格。从 Python 和R 选项卡,您可以查看当前绘图对应的 Python、R、JSON、Matlab 等代码。以下快照显示了上面生成的绘图的 Python 代码 −

Python Code

离线绘图设置

Plotly 允许您离线生成图形并将其保存在本地机器中。plotly.offline.plot() 函数创建一个独立的 HTML,该 HTML 保存在本地并在您的 Web 浏览器中打开。

Jupyter Notebook 中离线工作时使用 plotly.offline.iplot() 在笔记本中显示绘图。

注意 −离线绘图需要 Plotly 的版本 1.9.4+

更改脚本中的 plot() 函数 语句并运行。将在本地创建一个名为 temp-plot.html 的 HTML 文件并在 Web 浏览器中打开。

plotly.offline.plot(
   { "data": data,"layout": go.Layout(title = "hello world")}, auto_open = True)
离线绘图