如何使用 Python Plotly 创建子图?

plotlypythonserver side programmingprogramming

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_line second_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

使用 rows cols 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() 方法的 horizo​​ntal_spacing 属性来提供两个子图之间的间距。


相关文章