Помещаем прямоугольную диаграмму ниже точечной диаграммы [Plotly]

#python #plotly #plotly-python

#python #plotly #plotly-python

Вопрос:

Я хочу, чтобы прямоугольная диаграмма была размещена поверх точечной диаграммы. Ни помещение сначала трассировки прямоугольника и добавление точечной диаграммы сверху, ни добавление атрибута «layer =’below'» приводит к желаемому результату. Блок всегда остается сзади. Есть предложения?

 import plotly.graph_objects as go
import numpy as np

np.random.seed(10)
rand = np.random.uniform(-100, 100, 100)

fig = go.Figure()
fig.add_trace(go.Box(
    x=rand,
    name='Markers',
    line_color='rgba(128, 128, 128, .0)',
    fillcolor='darkgrey'
))
fig.add_trace(go.Scatter(
    x=rand,
    y=['Markers']*len(rand),
    name='Markers',
    mode="markers",
    marker_color='orange',
    marker_size=8,
    # layer='below' # does not work
))
fig.show()
  

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

Ответ №1:

Как предлагается здесь, вы должны прикрепить прямоугольную диаграмму к другой оси:

 fig = go.Figure()
fig.add_trace(go.Box(
    x=rand,
    name='Markers',
    line_color='rgba(128, 128, 128, .0)',
    fillcolor='darkgrey',
    yaxis='y2'
))
fig.add_trace(go.Scatter(
    x=rand,
    y=['Markers']*len(rand),
    name='Markers',
    mode="markers",
    marker_color='orange',
    marker_size=8
#     layer='below' # does not work
))
fig.update_layout(yaxis2=dict(
        matches='y',
        layer="above traces",
        overlaying="y",       
    ),)

fig.show()
  

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

Комментарии:

1. Вот и все! Большое спасибо 🙂