📜  Python Plotly – 如何添加多个 Y 轴?(1)

📅  最后修改于: 2023-12-03 15:34:03.513000             🧑  作者: Mango

Python Plotly – 如何添加多个 Y 轴?

当需要使用多个 Y 轴来对比不同的数据时,使用 Plotly 可以轻松地实现这一点。在本指南中,我们将介绍如何使用 Python Plotly 库来添加多个 Y 轴。

前提条件

为了跟随本指南,需要安装以下库:

  • plotly
  • pandas

可以使用以下命令安装这些库:

pip install plotly pandas
数据准备

在本指南中,我们将使用以下数据集:

import pandas as pd

data = {
    'data1': [10, 20, 30, 40, 50],
    'data2': [15, 25, 35, 45, 55],
    'data3': [20, 30, 40, 50, 60],
    'data4': [25, 35, 45, 55, 65]
}

df = pd.DataFrame(data)
添加多个 Y 轴

使用 Plotly,我们可以为每个数据系列创建一个独立的 Y 轴(即主 Y 轴和辅助 Y 轴)。

要添加多个 Y 轴,可以使用以下代码:

import plotly.graph_objs as go

trace1 = go.Scatter(
    x=df.index,
    y=df['data1'],
    name='Data 1',
    yaxis='y'
)

trace2 = go.Scatter(
    x=df.index,
    y=df['data2'],
    name='Data 2',
    yaxis='y2'
)

trace3 = go.Scatter(
    x=df.index,
    y=df['data3'],
    name='Data 3',
    yaxis='y3'
)

trace4 = go.Scatter(
    x=df.index,
    y=df['data4'],
    name='Data 4',
    yaxis='y4'
)

data = [trace1, trace2, trace3, trace4]

layout = go.Layout(
    yaxis=dict(
        title='Data 1',
        titlefont=dict(
            color='blue'
        ),
        tickfont=dict(
            color='blue'
        )
    ),
    yaxis2=dict(
        title='Data 2',
        titlefont=dict(
            color='orange'
        ),
        tickfont=dict(
            color='orange'
        ),
        overlaying='y',
        side='right'
    ),
    yaxis3=dict(
        title='Data 3',
        titlefont=dict(
            color='green'
        ),
        tickfont=dict(
            color='green'
        ),
        overlaying='y2',
        side='left'
    ),
    yaxis4=dict(
        title='Data 4',
        titlefont=dict(
            color='red'
        ),
        tickfont=dict(
            color='red'
        ),
        overlaying='y3',
        side='right'
    )
)

fig = go.Figure(data=data, layout=layout)

fig.show()

需要注意的是,所有的 Y 轴都必须在布局中声明,对于每个 Y 轴,可以定义其所对应的数据系列(即 trace 变量)和其位置(即 overlayingside 属性)。

结论

通过本指南,可以了解如何使用 Python Plotly 来添加多个 Y 轴。使用 Plotly,可以轻松地实现对比多个数据系列的效果。