add option to add "select" mode on any figure (specifically, Heatmap)
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 18.8k
- Forks
- 2.8k
- Merge medio
- 16 h 26 min
- PR fusionados (30 d)
- 21
Descripción
It doesn't seem possible to add a "select" dragmode to a figure with a go.Heatmap object. You can specify the starting dragmode as "select", in which case you can immediately drag and select. But if I wanted to pan, I can't choose to select afterwards. I cannot add it to the modebar. I would like to be able to do this so I can select a region of interest on my heatmap, and setup a callback to set this region of interest in my code. I don't care about actually selecting the points in the heatmap, just the bounds of the selection box.
My workaround to this is to add a go.Scatter to my figure:
layout = go.Layout(
showlegend=False,
autosize=False,
xaxis=dict(
showgrid=False,
zeroline=False,
visible=False,
range=[0, images.shape[2] - 1],
),
yaxis=dict(
showgrid=False,
zeroline=False,
visible=False,
range=[images.shape[1] - 1, 0],
scaleanchor="x",
scaleratio=1,
),
dragmode="zoom",
modebar=go.layout.Modebar(remove=["lasso"]),
)
heat = go.FigureWidget(
data=[
go.Scatter(
x=[0],
y=[0],
),
go.Heatmap(z=current_image, colorscale="Viridis"),
],
layout=layout,
)
This works, but is kind of silly...
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Empieza con el ejemplo de go.FigureWidget, centrándote en layout.dragmode, las opciones de la modebar y la interacción de go.Heatmap descrita en el issue. Comprueba cómo se exponen los callbacks de selección y los límites de selección cuando la figura contiene únicamente un Heatmap. Se considera terminado cuando se puede cambiar entre pan o zoom y select mediante la modebar sin añadir un go.Scatter ficticio.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- data-visualization
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 38/100