plotter: Is current "uniformness" of heatmap coloring intentional?
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- go
- Área
- data-visualization
Línea de trabajo
Comienza con los comentarios y el código sobre el escalado de colores del mapa de calor en plotter/heat.go, especialmente con las líneas mencionadas sobre el escalado de la paleta y la selección del color de las celdas. Ejecuta el reproductor proporcionado TestHeatMap con la configuración gonum.org/v1/plot v0.14.0 y compara la imagen resultante con la expectativa indicada. Se considera terminado cuando la distribución de colores prevista está resuelta y el comportamiento está cubierto o aclarado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Go
- Estrellas
- 3k
- Forks
- 202
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de gonum/plot
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 52/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 32/100
-
plot/plotter: NewHist(binPoints) panic when a small negative number is usedPosiblemente ocupada @SashaMIT la tomó hace 14 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
Todos los issues de gonum/plot
Issues similares
-
fix(handlers): explicitly set Content-Type header in static Index handlerPosiblemente ocupada @kage-zero la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
Quick Open: restore dependency-directory exclusions in filesystem fallbackPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
eugenioenko/ttt#1206 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
open-policy-agent/opa#9426 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
rorkai/App-Store-Connect-CLI#3192 ·
Los mantenedores suelen responder en 1 día
-
t:urlDecodeUni does not map U+3002 and U+FF61 to a dot, unlike ModSecurityPosiblemente ocupada @fzipi la tomó hoy. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día