Plotly 简明教程

Plotly - Package Structure

Plotly Python 程序包包含三个主要模块,如下所示 −

  1. plotly.plotly

  2. plotly.graph_objs

  3. plotly.tools

plotly.plotly module 包含需要 Plotly 服务器响应的函数。此模块中的函数是在本地机器和 Plotly 之间的接口。

plotly.graph_objs module 是最重要的模块,它包含构成所看图形的对象的所有类定义。定义了如下的图形对象 −

  1. Figure,

  2. Data,

  3. ayout,

  4. 诸如 Scatter, Box, Histogram 等不同的图形轨迹。

plotly module

所有图形对象都是用于生成和/或修改 Plotly 图形的每个功能的字典类和列表类对象。

plotly.tools module 包含许多有助于简化和增强 Plotly 体验的函数。此模块中定义了用于 subplot generation 、在 IPython notebooks 中嵌入 Plotly 图形、保存和检索凭据的函数。

图形由 plotly.graph_objs module 中定义的 Figure 类表示的 Figure 对象表示。其构造函数需要以下参数 −

import plotly.graph_objs as go
fig = go.Figure(data, layout, frames)

data 参数是在 Python 中的列表对象。它是想要绘制的所有轨迹的列表。轨迹只是我们给要绘制的数据集合起的名字。 trace 对象根据想要在绘制表面上显示数据的方式命名。

Plotly 提供许多轨迹对象,例如 scatter, bar, pie, heatmap 等。每个轨迹都由 graph_objs 函数中的相应函数返回。例如: go.scatter() 返回散点轨迹。

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]

layout 参数定义了图形的外观和与数据无关的图表功能。因此我们将能够更改标题、轴标题、注释、图例、间距、字体甚至在图表顶部绘制形状等内容。

layout = go.Layout(title = "Sine wave", xaxis = {'title':'angle'}, yaxis = {'title':'sine'})

图形可以有 plot title 以及轴 title 。它也可以有注释来表示其他描述。

最后,有一个由 go.Figure() function 创建的 Figure object 。它是一个类似字典的对象,包含数据对象和布局对象。最后,将绘制图形对象。

py.iplot(fig)