plot/plotter: NewHist(binPoints) panic when a small negative number is used
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 55/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- go
- Domaine
- data-visualization
Piste de recherche
Commencez par plotter.NewHist et la fonction binPoints, en vous concentrant sur la condition autour de la ligne 213 et sur l’exemple minimal signalé avec une petite valeur négative. Exécutez l’exemple avec les versions de Go et de Gonum/plot indiquées dans le rapport, puis vérifiez que la même entrée renvoie des bins sans provoquer de panic et que ce comportement est couvert par un test de régression.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
What are you trying to do?
I am trying to analyze the distribution of a series of numbers by plotter.NewHist
What did you do?
Here is a minimal example of the code I used:
func TestA(t *testing.T) {
data := []float64{203.4, -9.223372036854776e+17, 220.4}
_, err := plotter.NewHist(plotter.Values(data), 10)
if err != nil {
fmt.Println(err)
}
}
What did you expect to happen?
some bin are returned and there is no error or panic
What actually happened?
funcion binPoints panics with following message
panic: 203.4, xmin=-9.223372036854776e+17, xmax=220.4, w=9.223372036854779e+16, bin=10, n=10
What version of Go and Gonum/plot are you using?
Go 1.23
gonum.org/v1/plot v0.15.0
Also reproduced in
Go 1.20
gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b
Annotation
When debugging, I find the bin is set to 10 wrongly. I doubt it is the computing accuracy problem for float64. Maybe if x == xmax (line 213) should be changed to if bin >=n?
- Langage dominant
- Go
- Étoiles
- 3k
- Forks
- 202
- Métriques de merge des PR
- Aucune PR mergée en 30 j
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 gonum/plot
-
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 52/100
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 32/100
-
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
-
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
Toutes les issues de gonum/plot
Issues similaires
-
Handler accepts zero/negative NNCP_MAX_RETRIES and NNCP backoff values, stalling policies or hot-loopingPeut-être pris @NopeCharon l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
nmstate/kubernetes-nmstate#1604 ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
-
bug raised-by:desk
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
medici-finance/assay#4723 ·
Les mainteneurs répondent en général sous 1 jour
-
[doc-healer] DDUw improvement: retry integrity-filtered issue reads with direct single-item lookupsOuverteautomation documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
flannel-io/flannel#2608 ·
Les mainteneurs répondent en général sous 2 jours