python-visualization / python-visualization/branca
Colors given as tuple of ints are not working anymore for LinearColormap and StepColormap since v0.8.0
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 134
- Forks
- 69
- Merge moyen
- 1 h 10 min
- PR mergées (30 j)
- 1
Description
When I create a LinearColormap or a StepColormap with a list of tuples of ints as argument for the colors parameter, it is no longer converted to floats and leads to incorrect results.
Current behaviour (v0.8.0 v0.8.1):
>>> from branca.colormap import LinearColormap
>>> colormap = LinearColormap(colors=[(128, 64, 255), (255, 128, 0)])
>>> colormap.colors
[(128, 64, 255, 1.0), (255, 128, 0, 1.0)]
>>> colormap.rgb_bytes_tuple(0)
(32767, 16383, 65279)
>>> colormap.rgba_floats_tuple(1)
(255, 128, 0, 1.0)
Expected behaviour (v0.7.2):
>>> from branca.colormap import LinearColormap
>>> colormap = LinearColormap(colors=[(128, 64, 255), (255, 128, 0)])
>>> colormap.colors
[(0.5019607843137255, 0.25098039215686274, 1.0, 1.0), (1.0, 0.5019607843137255, 0.0, 1.0)]
>>> colormap.rgb_bytes_tuple(0)
(128, 64, 255)
>>> colormap.rgba_floats_tuple(1)
(1.0, 0.5019607843137255, 0.0, 1.0)
This seems to be due to the internal _parse_color function that was broken in https://github.com/python-visualization/branca/commit/8a8a2141c13947f6afaaf65a8c29c4417cd3a5a3#diff-6886114fc8e4fd6197705978c768e1f49469e2455fb1c4a8efda26a7b11bfa0bL51.
Current behaviour (v0.8.0 v0.8.1):
>>> from branca.colormap import _parse_color
>>> _parse_color((128, 64, 255))
(128, 64, 255, 1.0)
Expected behaviour (v0.7.2):
>>> from branca.colormap import _parse_color
>>> _parse_color((128, 64, 255))
(0.5019607843137255, 0.25098039215686274, 1.0, 1.0)
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
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 branca.colormap._parse_color et suivez la façon dont LinearColormap et StepColormap y font passer leurs couleurs. Reproduisez les exemples de tuples d’entiers de l’issue, puis vérifiez que les tuples sont normalisés en valeurs de couleur de type float et que rgb_bytes_tuple et rgba_floats_tuple produisent les résultats attendus pour les deux types de colormap.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- data-visualization
- Type d'issue
- Bug
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Activité
- À l'abandon
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 45/100