[BUG]: percentTotal not shown as percentage
Les mainteneurs répondent en général sous 2 jours
Une pull request liée a déjà été fusionnée.
- #8139 par @ORITOMI — fusionnée
Évaluation
- Difficulté
- 1/5
- Temps estimé
- Moins d'une heure
- Accessibilité débutants
- 93/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- javascript
- Domaine
- data-visualization, frontend
Piste de recherche
Lis src/traces/bar/plot.js, où l’issue signale une faute de frappe dans le nom d’une propriété, et examine la couverture de funnel dans test/jasmine/tests/funnel_test.js. Exécute les tests de funnel et confirme que %{percentTotal} s’affiche comme 50%, 33% et 17% pour les valeurs indiquées.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Description
This issue is related to plotly.py#4368, which was addressed in Plotly.py 5.17.0. However, the issue is still reproducible with Plotly.py 7.1.0 and Plotly.js 4.1.2.
The root cause is a typo in src/traces/bar/plot.js. Plotly.js correctly computes percentTotal, but assigns the formatted percentage to percenTotalLabel instead of percentTotalLabel (missing "t").
As a result, funnel text templates using %{percentTotal} display the raw ratio rather than the formatted percentage.
Screenshots/Video
Before :
After :
Steps to reproduce
python
import plotly
import plotly.graph_objects as go
print("Plotly version:", plotly.__version__)
fig = go.Figure(
go.Funnel(
name="X",
y=["A", "B", "C"],
x=[40, 30, 20],
textposition="inside",
texttemplate=(
"%{value}<br>"
"%{percentPrevious}<br>"
"%{percentTotal}"
),
)
)
fig.show()
Solution
The issue was fixed by correcting the property name in src/traces/bar/plot.js.
A regression test was also added to test/jasmine/tests/funnel_test.js to verify that %{percentTotal} renders as 50%, 33%, and 17% for the corresponding funnel values.
Validation
The funnel test suite failed before the fix because the labels contained raw ratios.
All 63 funnel tests passed after the fix.
Linting and type checking passed.
To validate the fix locally in Plotly.py, the build issue was worked around, Plotly.js was built and packed, and the resulting local bundle was imported in Plotly.py 4.1.0.
The local test ran successfully and confirmed that the percentage labels were formatted correctly.
Notes
I'm new in contributing on open source project, any advice are welcome !
- Langage dominant
- JavaScript
- Étoiles
- 18.4k
- Forks
- 2.1k
- Merge moyen
- 4 j 15 h
- PR mergées (30 j)
- 16
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire 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.
Autres issues de plotly/plotly.js
-
bug P3 size: 3
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
plotly/plotly.js#8108 · 4 commentaires ·
Les mainteneurs répondent en général sous 2 jours
-
chore P3 plotly-internal size: 3 task
Difficulté 2/5 1-3 heures Accessibilité débutants 77/100
plotly/plotly.js#8064 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours
-
chore P1 plotly-internal size: 1 task
Difficulté 1/5 Moins d'une heure Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 2 jours
-
chore P3 plotly-internal size: 1 task
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
Les mainteneurs répondent en général sous 2 jours
-
[mkdocs] Update link in Edit this Page buttonPeut-être à nouveau libre @AbhinavKumar-Jha l’a pris il y a 155 jours, et aucune pull request n’est ouverte. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
plotly/plotly.js#7648 · 3 commentaires ·
Les mainteneurs répondent en général sous 2 jours
Toutes les issues de plotly/plotly.js
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Jason-Vaughan/TangleClaw#2546 ·
Les mainteneurs répondent en général sous 1 jour
-
area:integration enhancement good first issue help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
-
Documentation status: needs triage
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
mastra-ai/mastra#28194 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
ai-authored
Difficulté 2/5 1-3 heures Accessibilité débutants 69/100
Les mainteneurs répondent en général sous 1 jour
-
security(chat): require user confirmation before executing assistant-suggested package installationsOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
francordel/myrtia#77 ·
Les mainteneurs répondent en général sous 1 jour