如何使用 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_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
使用行和列以及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属性来在两个子图之间提供间距。
广告