如何使用 Python Plotly 创建子图?


Plotly 是一个开源的 Python 库,用于数据可视化。它支持各种类型的图表。在本教程中,我们将展示如何在单个图表上显示多个绘图。

  • 这里我们将使用 plotly.graph_objects 生成图形。它包含许多方法来自定义图表并将其呈现为 HTML 格式。

  • 我们将使用make_subplots方法添加子图。

请按照给定的步骤使用 Python Plotly 创建子图。

步骤 1

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

import plotly.graphs_objs as go

步骤 2

导入 make_subplots 以创建子图

from plotly.subplots import make_subplots

步骤 3

使用以下坐标创建数据帧:

data = {
   'x':['a','b','c'],
   'y':['d','e','f'],
   'z':['a','e','i']
}
df = pd.DataFrame(data)

步骤 4

创建两个散点图并将它们存储在变量first_linesecond_line中。

first_line = go.Scatter(x=df["x"], y=df["y"], name="one")
second_line = go.Scatter(x=df["x"], y=df["z"], name="two")

步骤 5

使用以及shared_yaxes设置make_subplots()方法。

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

示例

创建子图的完整代码如下:

import plotly.graph_objects as go from plotly.subplots import make_subplots import pandas as pd data = { 'x':['a','b','c'], 'y':['d','e','f'], 'z':['a','e','i'] } df = pd.DataFrame(data) first_line = go.Scatter(x=df["x"], y=df["y"], name="First Plot") second_line = go.Scatter(x=df["x"], y=df["z"], name="Second Plot") fig = make_subplots(rows=1, cols=3, shared_yaxes=True, horizontal_spacing=0.10) fig.add_trace(first_line, row=1, col=1) fig.add_trace(second_line, row=1, col=2) fig.update_layout(height=400, width=716, title_text="Creating Subplots in Plotly") fig.show()

输出

执行后,它将在浏览器上生成以下图表:


我们使用了make_subplots()方法的horizontal_spacing属性来在两个子图之间提供间距。

更新于: 2022年10月21日

5K+ 浏览量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告