plotter: Is current "uniformness" of heatmap coloring intentional?
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- go
- Domaine
- data-visualization
Piste de recherche
Commencez par les commentaires et le code concernant la mise à l’échelle des couleurs de la heatmap dans plotter/heat.go, en particulier les lignes référencées concernant la mise à l’échelle de la palette et la sélection de la couleur des cellules. Exécutez le reproducteur TestHeatMap fourni avec la configuration gonum.org/v1/plot v0.14.0 et comparez l’image obtenue à l’attendu indiqué. C’est terminé lorsque la distribution de couleurs attendue est résolue et que le comportement est couvert ou clarifié.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
What are you trying to do?
Drawing heatmap.
What did you do?
func TestHeatMap(t *testing.T) {
m := offsetUnitGrid{
XOffset: -2,
YOffset: -1,
Data: mat.NewDense(3, 4, []float64{
1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12,
}),
}
pal := myPalette{}
h := plotter.NewHeatMap(m, pal)
p := plot.New()
p.Add(h)
p.X.Padding = 0
p.Y.Padding = 0
img := vgimg.New(250, 175)
dc := draw.New(img)
p.Draw(dc)
w, err := os.Create("golden_files/heatMap.png")
if err != nil {
log.Panic(err)
}
png := vgimg.PngCanvas{Canvas: img}
if _, err = png.WriteTo(w); err != nil {
t.Fatal(err)
}
}
type myPalette struct{}
func (myPalette) Colors() []color.Color {
return []color.Color{
color.RGBA{R: 255, A: 255},
color.RGBA{G: 255, A: 255},
color.RGBA{B: 255, A: 255},
color.RGBA{R: 255, G: 255, A: 255},
}
}
// offsetUnitGrid is copied from https://github.com/gonum/plot/blob/b4fdc267610216647ec69681d47e431cf5bbed23/plotter/heat_test.go#L21
What did you expect to happen?
Each color is used "uniformly". I consider 3 cells for each colors (3 * 4 = 12) is "unform".
Following code comments says palette is scaled uniformly across the data range.
https://github.com/gonum/plot/blob/b4fdc267610216647ec69681d47e431cf5bbed23/plotter/heat.go#L157
What actually happened?
2 cells for red, 4 cells for green, 4 cells for blue, 2 cells for yellow. This doesn't look uniform to me.
Probably first color and last color have half chance to be used compared the other colors.
In my thought, following should be ps := float64(len(pal)) / (h.Max - h.Min)
https://github.com/gonum/plot/blob/b4fdc267610216647ec69681d47e431cf5bbed23/plotter/heat.go#L157-L158
and following shouldbe col = pal[int((v-h.Min)*ps)] to get uniform.
https://github.com/gonum/plot/blob/b4fdc267610216647ec69681d47e431cf5bbed23/plotter/heat.go#L222-L224
What version of Go and Gonum/plot are you using?
go version go1.22.0 darwin/arm64
gonum.org/v1/plot v0.14.0
Does this issue reproduce with the current master?
Not experimented yet. Maybe yes.
- 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
-
plot/plotter: NewHist(binPoints) panic when a small negative number is usedPeut-être pris @SashaMIT l’a pris il y a 17 jours. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
-
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
Toutes les issues de gonum/plot
Issues similaires
-
agent-butler-finding bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
jordansmall/spindrift#6161 ·
Les mainteneurs répondent en général sous 1 jour
-
C-bug O-community X-blathers-untriaged
Difficulté 1/5 Moins d'une heure Accessibilité débutants 84/100
cockroachdb/cockroach#176210 · 1 commentaire ·
-
VLAgent `spec.k8sCollector.includePodLabels: false` has no effectPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
VictoriaMetrics/operator#2772 ·
Les mainteneurs répondent en général sous 1 jour
-
refactor Type/Improvement
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
OpenNSW/nsw-srilanka#969 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Gaurav-Gosain/tuios#1316 ·
Les mainteneurs répondent en général sous 1 jour