- Plotly教程
- 阴谋 - 主页
- Plotly - 简介
- Plotly - 环境设置
- Plotly - 在线和离线绘图
- 使用 Jupyter Notebook 内联绘图
- Plotly - 包结构
- Plotly - 导出到静态图像
- Plotly - 传奇
- Plotly - 设置轴和刻度的格式
- Plotly - 子图和插图
- Plotly - 条形图和饼图
- Plotly - 散点图、Scattergl 图和气泡图
- Plotly - 点图和表格
- Plotly - 直方图
- Plotly - 箱线图小提琴图和等高线图
- Plotly - 分布图、密度图和误差条图
- Plotly - 热图
- Plotly - 极坐标图和雷达图
- Plotly - OHLC 图表瀑布图和漏斗图
- Plotly - 3D 散点图和曲面图
- Plotly - 添加按钮/下拉菜单
- Plotly - 滑块控制
- Plotly -FigureWidget 类
- 与pandas和袖扣密谋
- 使用 Matplotlib 和 Chart Studio 绘图
- 非常有用的资源
- Plotly - 快速指南
- Plotly - 有用的资源
- Plotly - 讨论
Plotly - 子图和插图
在这里,我们将了解 Plotly 中的子图和插图的概念。
制作次要Plotly
有时并排比较不同的数据视图会很有帮助。这支持了子图的概念。它在plotly.tools模块中提供了make_subplots()函数。该函数返回一个Figure 对象。
以下语句在一行中创建两个子图。
fig = tools.make_subplots(rows = 1, cols = 2)
我们现在可以向图中添加两个不同的跟踪(上面示例中的 exp 和 log 跟踪)。
fig.append_trace(trace1, 1, 1) fig.append_trace(trace2, 1, 2)
通过使用update()方法指定标题、宽度、高度等来进一步配置图形的布局。
fig['layout'].update(height = 600, width = 800s, title = 'subplots')
这是完整的脚本 -
from plotly import tools import plotly.plotly as py import plotly.graph_objs as go from plotly.offline import iplot, init_notebook_mode init_notebook_mode(connected = True) import numpy as np x = np.arange(1,11) y1 = np.exp(x) y2 = np.log(x) trace1 = go.Scatter( x = x, y = y1, name = 'exp' ) trace2 = go.Scatter( x = x, y = y2, name = 'log' ) fig = tools.make_subplots(rows = 1, cols = 2) fig.append_trace(trace1, 1, 1) fig.append_trace(trace2, 1, 2) fig['layout'].update(height = 600, width = 800, title = 'subplot') iplot(fig)
这是绘图网格的格式: [ (1,1) x1,y1 ] [ (1,2) x2,y2 ]
插图
要将子图显示为插图,我们需要配置其跟踪对象。首先,插图的xaxis和 yaxis 属性分别为“x2”和“y2”。以下语句将“日志”跟踪放入插图中。
trace2 = go.Scatter( x = x, y = y2, xaxis = 'x2', yaxis = 'y2', name = 'log' )
其次,配置布局对象,其中插图的 x 轴和 y 轴位置由指定相对于长轴的位置的域属性定义。
xaxis2=dict( domain = [0.1, 0.5], anchor = 'y2' ), yaxis2 = dict( domain = [0.5, 0.9], anchor = 'x2' )
下面给出了在主轴上的插图和 exp 跟踪中显示日志跟踪的完整脚本 -
trace1 = go.Scatter( x = x, y = y1, name = 'exp' ) trace2 = go.Scatter( x = x, y = y2, xaxis = 'x2', yaxis = 'y2', name = 'log' ) data = [trace1, trace2] layout = go.Layout( yaxis = dict(showline = True), xaxis2 = dict( domain = [0.1, 0.5], anchor = 'y2' ), yaxis2 = dict( showline = True, domain = [0.5, 0.9], anchor = 'x2' ) ) fig = go.Figure(data=data, layout=layout) iplot(fig)
输出如下 -