Используя Jupyter Notebooks, я сделал график Scatterpolar с двумя трассами на нем, используя следующий код:

import numpy as np
import plotly.graph_objs as go

th = np.arange(0, 361, 1)
r1 = np.random.randn(360)
r2 = np.random.randn(360)

fig = go.Figure()
fig.add_trace(go.Scatterpolar(r=r1, theta=th, mode='lines'))
fig.add_trace(go.Scatterpolar(r=r2, theta=th, mode='lines'))
fig.update_layout(hovermode='x')

В результате получается этот рисунок, на котором не отображаются обе точки данных, когда я навожу курсор на график. Я бы хотел, чтобы он показывал обе точки данных.

enter image description here

Например, когда у вас есть линейный график, это легко сделать. Вы просто меняете hovermode = 'x' и получаете это, как показано в тексте hovermode и документация по форматированию.

enter image description here

Как сделать так, чтобы на графике Scatterpolar отображались обе точки данных при наведении курсора на график? Любая помощь будет принята с благодарностью.

0
punjabWala81 27 Апр 2020 в 02:29

1 ответ

Я не знаю, полностью ли я понял вашу конечную цель, но первое, что вы можете сделать, чтобы сделать точечные диаграммы менее беспорядочными, это внести изменение mode='markers'. По умолчанию для точки под курсором будет отображаться одна метка при наведении, поэтому, если вы наведете курсор на точку с координатами (r1, th), они отобразятся в метке, то же самое произойдет с точками с (r2, th). Теперь для случая, который вы представили, строка fig.update_layout(hovermode='x unified') не имеет никакого значения для результата.

0
Forran 26 Май 2020 в 15:11