子图上的 x 轴标题 Plotly Python

x axes titles on subplots Plotly Python

我正在尝试将 x-axesy-axes 上的 相同标题 添加到显示为子图的四个甘特图。我在网上找到 figs.update_layout() 但是,这只显示了第一个图表上的标题,而不是全部。我在 R 中找到了一些答案,但是对 python 的任何帮助都会很棒

figs = make_subplots(
rows=2, cols=2,
shared_xaxes=False,
subplot_titles =('Plot 1', 'PLot 2', 'PLot 3', 'Plot 4')
)
figs.update_layout(
    title="Plot Title",
    xaxis_title="Miliseconds",
    yaxis_title="Services",
)

for trace in fig_operable.data:
    figs.add_trace(trace, row=1, col=1)
for trace in fig_dynamic.data:
    figs.add_trace(trace, row=2, col=1)
for trace in fig_early.data:
    figs.add_trace(trace, row=1, col=2)
for trace in fig_hmi.data:
    figs.add_trace(trace, row=2, col=2)

figs.update_layout(showlegend=False, title_text="Title of charts")
figs.show()

IIUC 你正在寻找类似的东西

import numpy as np
import plotly.graph_objs as go
from plotly.subplots import make_subplots

subplot_titles = ['Plot 1', 'Plot 2', 'Plot 3', 'Plot 4']
xaxis_title="Miliseconds"
yaxis_title="Services"
rows = 2
cols = 2
height = 300 * rows

trace = go.Scatter(x=np.linspace(1,100,100),
                   y=np.linspace(1,100,100))


fig = make_subplots(rows=rows, cols=cols,
                    shared_xaxes=False,
                    subplot_titles=subplot_titles
                    )

for i, col in enumerate(subplot_titles):
    r = int(np.ceil(((i+1)/cols)))
    c = i%2+1
    fig.add_trace(trace, row=r, col=c)
    fig.update_xaxes(title_text=xaxis_title, row=r, col=c)
    fig.update_yaxes(title_text=yaxis_title, row=r, col=c)

fig.update_layout(showlegend=False,
                  title_text="Title of charts",
                  title_x=0.5,
                  height=height)
fig.show()    

如果您还有其他疑问,可以查看文档 here