px.density_contour() ignores color labels for negative histfunc results
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 18.8k
- Forks
- 2.8k
- Merge moyen
- 16 h 26 min
- PR mergées (30 j)
- 21
Description
Consider the following example:
import plotly.express as px
import pandas as pd
import numpy as np
import plotly
np.random.seed(0)
n_samples = 1000
df = pd.DataFrame({
'x': np.random.randint(low=1, high=5, size=n_samples),
'y': np.random.randint(low=1, high=4, size=n_samples),
'z': np.random.normal(loc=-40, scale=20, size=n_samples),
})
df['z'] = df['z'] * df['x']
# uncomment to make some values above 0
# df['z'] = df['z'] + 80
# uncomment to make all values above 0
# df['z'] = df['z'].abs()
fig = px.density_contour(df, x='x', y='y', z='z', histfunc='avg', height=800, width=1200, title=f'Plotly version: {plotly.__version__}')
fig.update_traces(contours_coloring="fill", contours_showlabels=True)
fig.show()
It calculates average of mostly negative values, which results in the following plot:

Color bar has correct color range, but all data points use same color - yellow, which is not particularly useful. Similar situation happens when only part of data is negative (uncomment first commented line in the example):

Left (positive) section looks fine, while right (negative) is colored with only one color.
There are workarounds, that involve changing of input data, but this makes plot reading much harder.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par exécuter l’exemple fourni de px.density_contour() avec des résultats négatifs et mixtes de histfunc, puis examinez le point d’entrée density_contour et la manière dont la coloration des contours gère ces valeurs. Le travail est terminé lorsque les résultats négatifs et mixtes utilisent toute la plage de couleurs au lieu de se réduire à une seule couleur, tandis que le cas positif existant reste correct.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- numpy, pandas, python
- Domaine
- data-visualization
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- Active
- Clarté
- Plutôt claire
- Accessibilité débutants
- 65/100