Plotly:如何添加多个 y 轴

作者:编程家 分类: python 时间:2025-04-17

如何使用Plotly添加多个y轴

在数据可视化中,有时候我们需要在同一图表中展示不同的数据集,这些数据集可能具有不同的数值范围或单位。为了更好地比较这些数据,我们可以使用多个y轴来显示它们。

Plotly是一个强大的Python可视化库,它提供了丰富的图表类型和灵活的配置选项,可以轻松添加多个y轴。在本文中,我们将介绍如何使用Plotly来实现这一功能,并提供一个案例代码来帮助您更好地理解。

步骤1:导入必要的库

首先,我们需要导入必要的库,包括Plotly和Pandas(如果需要使用数据集)。

python

import plotly.graph_objects as go

import pandas as pd

步骤2:创建数据集

接下来,我们可以创建一个数据集来演示如何添加多个y轴。在本例中,我们将使用一个简单的数据集,其中包含两列数据:x和y1。

python

data = {'x': [1, 2, 3, 4, 5],

'y1': [10, 20, 15, 25, 30]}

df = pd.DataFrame(data)

步骤3:创建图表

现在,我们可以创建一个图表,并添加两个y轴来显示我们的数据。我们将使用`make_subplots()`函数来创建一个包含两个y轴的图表对象。

python

fig = make_subplots(specs=[[{"secondary_y": True}]])

步骤4:添加数据

接下来,我们可以添加我们的数据到图表中。我们可以使用`add_trace()`函数来添加每个数据集,并指定要将其连接到的y轴。

python

fig.add_trace(go.Scatter(x=df['x'], y=df['y1'], name='y1', line=dict(color='red')),

secondary_y=False)

步骤5:添加第二个y轴

现在,我们可以添加第二个y轴,并将其连接到第二个数据集。我们可以使用`add_trace()`函数来添加第二个数据集,并指定要将其连接到的y轴。

python

fig.add_trace(go.Scatter(x=df['x'], y=df['y2'], name='y2', line=dict(color='blue')),

secondary_y=True)

步骤6:设置图表布局

最后,我们可以设置图表的布局,包括标题、轴标签和图例。

python

fig.update_layout(title='多个y轴示例',

xaxis_title='x',

yaxis_title='y1',

yaxis2_title='y2',

legend=dict(x=0, y=1))

步骤7:显示图表

最后,我们可以使用`show()`函数来显示图表。

python

fig.show()

案例代码

下面是一个完整的案例代码,展示了如何使用Plotly添加多个y轴:

python

import plotly.graph_objects as go

import pandas as pd

data = {'x': [1, 2, 3, 4, 5],

'y1': [10, 20, 15, 25, 30],

'y2': [5, 15, 10, 20, 25]}

df = pd.DataFrame(data)

fig = go.Figure()

fig.add_trace(go.Scatter(x=df['x'], y=df['y1'], name='y1', line=dict(color='red')))

fig.add_trace(go.Scatter(x=df['x'], y=df['y2'], name='y2', line=dict(color='blue')))

fig.update_layout(title='多个y轴示例',

xaxis_title='x',

yaxis_title='y1',

yaxis2_title='y2',

legend=dict(x=0, y=1))

fig.show()

在本文中,我们介绍了如何使用Plotly来添加多个y轴。通过使用`make_subplots()`函数,我们可以轻松地在同一图表中显示不同的数据集。通过添加适当的数据和设置布局选项,我们可以创建一个具有多个y轴的可视化图表。这使得我们可以更好地比较不同数据集之间的关系和趋势。希望这篇文章对您有所帮助,谢谢您的阅读!