如何使用Python Plotly创建子图?

如何使用Python Plotly创建子图?

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

  • 在这里,我们将使用 plotly.graph_objects 生成图形。它包含大量方法来自定义图表并将它们渲染为HTML格式。

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

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

步骤1

导入 plotly.graphs_objs 模块并使用 go 别名。

import plotly.graphs_objs as go
Bash

步骤2

导入make_subplots以创建子图

from plotly.subplots import make_subplots
Bash

步骤3

使用以下坐标创建数据框−

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

步骤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")
Bash

步骤5

设置 make_subplots() 方法使用 行、列、shared_yaxes

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

示例

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

导入 plotly.graph_objects as go
从 plotly.subplots 导入 make_subplots
导入 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="第一条线")
second_line = go.Scatter(x=df["x"], y=df["z"], name="第二条线")

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="在 Plotly 中创建子图")

fig.show()
Bash

输出结果

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

如何使用Python Plotly创建子图?

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册