如何在Python Plotly中绘制第二个Y轴?
Plotly是一个开源、交互式、基于浏览器的Python绘图库。Python用户可以使用Plotly来生成不同类型的图表,包括科学图表、3D图形、统计图表、金融图表等等。
在本教程中,我们将展示如何使用Plotly在第二个Y轴上绘制数据。这里我们将使用 plotly.graph_objects 模块生成图形。它包含了很多方法来自定义图表并将它们渲染为HTML格式。我们将使用 add_trace() 方法绘制两个条形图,然后使用 update_layout() 方法使用dict参数设置属性。
按照以下步骤绘制第二个Y轴。
步骤1
导入 plotly.graph_objects 模块并将其别名为go。
import plotly.graph_objects as go
步骤2
使用 Figure() 方法创建一个图形。
fig = go.Figure()
步骤3
使用 add_trace() 方法创建两个条形图。
fig.add_trace(go.Bar(
x=[5,6,7],
y=[1,2,3],
name="yaxis1",
yaxis='y1'
))
fig.add_trace(go.Bar(
x=[1,2,3],
y=[1,2,3],
name="yaxis2",
yaxis="y2"
))
步骤4
为第一个和第二个Y轴创建轴对象。
fig.update_layout(
xaxis=dict(domain=[0.15, 0.15]),
# create first Y-axis
yaxis=dict(
title="yaxis1 title",
titlefont=dict(color="blue"),
tickfont=dict(color="red")
),
# create second Y-axis
yaxis2=dict(
title="yaxis2 title",
overlaying="y",
side="right", position=0.15)
)
步骤5
使用 update_layout() 方法设置布局并分配标题文本。
fig.update_layout(title_text="secondary y-axis")
示例
以下是绘制第二个Y轴的完整代码−
import plotly.graph_objects as go
fig = go.Figure()
fig.add_trace(go.Bar(
x=[5, 6, 7], y=[1, 2, 3],
name="yaxis1", yaxis='y1'))
fig.add_trace(go.Bar(
x=[1, 2, 3], y=[1, 2, 3],
name="yaxis2", yaxis="y2"))
# 创建轴对象
fig.update_layout(
xaxis=dict(domain=[0.15, 0.15]),
# 创建第一个 y 轴
yaxis=dict(
title="yaxis1 标题",
titlefont=dict(color="blue"),
tickfont=dict(color="red")
),
# 创建第二个 y 轴
yaxis2=dict(
title="yaxis2 标题",
overlaying="y",
side="right",
position=0.15)
)
fig.update_layout(title_text="Secondary Y-axis",width=716, height=400)
fig.show()
输出
它将在浏览器上显示以下输出 −