如何使用 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() 方法的 horizontal_spacing 属性来提供两个子图之间的间距。