Аннотации в фасетных графиках сюжетно

#python #python-3.x #plot #plotly #plotly-python

Вопрос:

Я создаю участок фасета с помощью plotly, который состоит из двух столбцов и одной строки. У меня также есть список диктантов для аннотаций, который выглядит так…

 annots = [{'x': datetime.datetime(2021, 5, 5, 14, 4, 47, 398000), 'y': 125.5, 'text': '8', 'font': {'color': 'black'}},
          {'x': datetime.datetime(2021, 5, 5, 14, 4, 47, 545000), 'y': 123.5, 'text': '3', 'font': {'color': 'black'}},
          {'x': datetime.datetime(2021, 5, 5, 14, 4, 47, 583000), 'y': 120.5, 'text': '9', 'font': {'color': 'black'}}]
 

Я создаю словарь компоновки и передаю его объекту figure следующим образом…

 layout = dict(showlegend=False, height=HEIGHT, annotations=annots, barmode='overlay', hoverlabel=hoverlabel, legend=legend, margin=margin, xaxis=xaxes1, xaxis2=xaxes2, yaxis=yaxes1, yaxis2=yaxes2)
fig = go.Figure(data=data, layout=layout)
 

Но все аннотации отображаются в первом столбце. Как мне указать, какие аннотации принадлежат какому участку фасета ?

Ответ №1:

Это было очень просто, мне просто нужно указать xref и yref в качестве ключей в словаре. Итак, это выглядит так…

 annots = [{'x': datetime.datetime(2021, 5, 5, 14, 4, 47, 398000), 'y': 125.5, 'text': '8', 'xref'='x2', 'font': {'color': 'black'}},
          {'x': datetime.datetime(2021, 5, 5, 14, 4, 47, 545000), 'y': 123.5, 'text': '3', 'xref'='x2', 'font': {'color': 'black'}},
          {'x': datetime.datetime(2021, 5, 5, 14, 4, 47, 583000), 'y': 120.5, 'text': '9', 'xref'='x', 'font': {'color': 'black'}}]