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、Data、Python 和 Rand Forking history 选项卡。
当前,已选择 Plot 选项卡。Data 选项卡显示包含 x 和 y 数据点的网格。从 Python 和R 选项卡,您可以查看当前绘图对应的 Python、R、JSON、Matlab 等代码。以下快照显示了上面生成的绘图的 Python 代码 −
离线绘图设置
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)