[FEATURE]: Heatmap with custom colour for NaN values
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- JavaScript
- Estrellas
- 18.3k
- Forks
- 2k
- Merge medio
- 2 d 12 h
- PR fusionados (30 d)
- 28
Descripción
Description
Currently, z-values of NaN get rendered as transparent in heatmaps. Adding a new parameter nancolor to the heatmap would fix this by allowing users to set a specific colour for NaN values.
Why should this feature be added?
Biomedical data often contains missing values, visualising them explicitly within heatmaps (i.e. without imputation or defaulting to transparent which often visually clashes with the used colour scales) allows for proper communication of the data.
Mocks/Designs
See #1170
Notes
This feature has already been requested in in #975 and a PR with the necessary changes had previously been opened in #1170. While a workaround has been suggested, I believe this could hurt performance for large heatmaps and a new parameter would be more clean. Since the issue is still of concern, I created this new issue as requested here.
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
Comienza rastreando el punto de entrada del renderizado del heatmap en plotly.js y revisando la implementación anterior tratada en #1170. Confirma cómo se renderizan actualmente los valores z NaN y, después, define una cobertura que demuestre que se aplica un nancolor proporcionado sin cambiar los colores normales del heatmap ni su comportamiento.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- javascript
- Área
- data-visualization
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 48/100