如何在 Python Plotly 中绘制多个图表作为子图?


Plotly 是一个用于创建图表的开源 Python 库。您可以使用 Plotly 中提供的功能将多个图表设置为子图。

在本教程中,我们将使用 **plotly.graph_objects** 生成图表。它包含许多方法可以自定义图表并将图表渲染为 HTML 格式。例如,**plotly.subplots()** 方法可以用来添加子图。

按照以下步骤使用 **Plotly express** 创建子图。

步骤 1

导入 **plotly.graphs_objs** 模块并将其别名为 **go**。

import plotly.graphs_objs as go

步骤 2

导入 **make_subplots** 来创建子图。

from plotly.subplots import make_subplots

步骤 3

创建 3 行 1 列的子图。

fig = make_subplots(rows=3, cols=1)

步骤 4

创建 **append_trace()** 方法来追加散点图。

fig.append_trace(go.Scatter(
   x=[1,2,3,4,5],
   y=[5,6,7,8,9],
), row=1, col=1)

fig.append_trace(go.Scatter(
   x=[3,4,5,6,7],
   y=[10,11,12,9,8],
), row=2, col=1)

fig.append_trace(go.Scatter(
   x=[4,5,6,7,8],
   y=[6,7,8,9,10]
), row=3, col=1)

步骤 5

使用 **update_layout()** 方法设置布局大小。

fig.update_layout(height=400, width=400, title_text="Subplots")

示例

以下是将多个图表作为子图绘制的完整代码:

from plotly.subplots import make_subplots
import plotly.graph_objects as go

fig = make_subplots(rows=3, cols=1)

fig.append_trace(go.Scatter(
   x=[1,2,3,4,5],
   y=[5,6,7,8,9],
), row=1, col=1)

fig.append_trace(go.Scatter(
   x=[3,4,5,6,7],
   y=[10,11,12,9,8],
), row=2, col=1)

fig.append_trace(go.Scatter(
   x=[4,5,6,7,8],
   y=[6,7,8,9,10]
), row=3, col=1)

fig.update_layout(height=450, width=716, title_text="Subplots")
fig.show()

输出

它将在浏览器上显示以下输出:


更新于:2022年10月7日

12K+ 次浏览

启动您的 职业生涯

完成课程获得认证

开始学习
广告