Python 如何使用Plotly创建子图
Plotly是一个用于数据可视化的开源Python库。它支持各种类型的图表。在本教程中,我们将展示如何在单个图表上显示多个图表。
- 在这里,我们将使用 plotly.graph_objects 来生成图表。它包含许多方法来自定义图表并将其呈现为HTML格式。
-
我们将使用 make_subplots 方法来添加子图。
按照给定的步骤来创建Python Plotly的子图。
第1步
导入 plotly.graph_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步
用 make_subplots() 方法设置 rows 和 cols 以及 shared_yaxes 。
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()
输出
在执行时,它将在浏览器上生成以下图表 −
我们使用了 horizontal_spacing 属性 make_subplots() 方法来在两个子图之间提供间距。