как определить макет для подзаговора с помощью plotly

Я использовал приведенный ниже код для создания подзаголовка с одной строкой и двумя столбцами с помощью пакета plotly. Но две оси x перекрываются (см. Приложенный снимок экрана). Ось первого графика покрывает оба графика. Как решить эту проблему? Я не вижу хорошего примера с сайта plotly. Также как убрать легенду?

введите здесь описание изображения

import plotly
import plotly.graph_objs as go

def plot(plot_dic, width=1000, **kwargs):
    kwargs['output_type'] = 'div'
    plot_str = plotly.offline.plot(plot_dic, **kwargs)
    print('%%angular <div style=" width: %spx"> %s </div>' % ( width, plot_str))

# Create a trace
trace0 = go.Scatter(
    x = np.arange(100)+1,
    y = np.round(df[df['']=='value'].iloc[:,1:]*100, 2).values.reshape(100),
    mode = 'lines+markers',
)
trace1 = go.Scatter(
    x = np.arange(100)+1,
    y = np.cumsum(np.round(df[df['']=='value'].iloc[:,1:]*100, 2).values).reshape(100),
    mode = 'lines+markers',
)

fig = plotly.tools.make_subplots(rows=1, cols=2, subplot_titles=('Variance', 'Cumulative Variance')
                                #  ,shared_xaxes=True, shared_yaxes=True
                                 )
fig['layout'].update(height=500, width=800, title="Plot title"
                    ,xaxis=dict(range = [1, 400],
                                dtick = 40,
                                showticklabels=True,
                                tickfont=dict(family='Arial, sans-serif', size=14, color='black'),
                                exponentformat='e',
                                showexponent='all')
                    ,xaxis1=dict(range = [1, 400],
                                dtick = 40,
                                showticklabels=True,
                                tickfont=dict(family='Arial, sans-serif', size=14, color='black'),
                                exponentformat='e',
                                showexponent='all')                                    
    )

fig.append_trace(trace0, 1, 1)
fig.append_trace(trace1, 1, 2)

plot(fig, width=600, show_link=False)

person Gavin    schedule 20.06.2019    source источник


Ответы (1)


Альтернативный способ создания подзаголовка, но во избежание перекрытия оси x - это изменить подзаголовок на 2 строки и 1 столбец.

fig = plotly.tools.make_subplots(rows=2, cols=1, subplot_titles=('Variance', 'Cumulative Variance')
                            #  ,shared_xaxes=True, shared_yaxes=True)
person Gavin    schedule 01.07.2019