package palette
import "gonum.org/v1/plot/palette"
Package palette provides basic color palette handling.
Index ¶
- Variables
- type ColorMap
- type DivergingColorMap
- type DivergingPalette
- type HSVA
- type Hue
- type Palette
Examples ¶
Variables ¶
var ( // ErrOverflow is the error returned by ColorMaps when the specified // value is greater than the maximum value. ErrOverflow = errors.New("palette: specified value > maximum") // ErrUnderflow is the error returned by ColorMaps when the specified // value is less than the minimum value. ErrUnderflow = errors.New("palette: specified value < minimum") // ErrNaN is the error returned by ColorMaps when the specified // value is NaN. ErrNaN = errors.New("palette: specified value == NaN") )
HSVAModel converts any color.Color to an HSVA color.
Types ¶
type ColorMap ¶
type ColorMap interface {
// At returns the color associated with the given value.
// If the value is not between Max() and Min(), an error is returned.
At(float64) (color.Color, error)
// Max returns the current maximum value of the ColorMap.
Max() float64
// SetMax sets the maximum value of the ColorMap.
SetMax(float64)
// Min returns the current minimum value of the ColorMap.
Min() float64
// SetMin sets the minimum value of the ColorMap.
SetMin(float64)
// Alpha returns the opacity value of the ColorMap.
Alpha() float64
// SetAlpha sets the opacity value of the ColorMap. Zero is transparent
// and one is completely opaque. The default value of alpha should be
// expected to be one. The function should be expected to panic
// if alpha is not between zero and one.
SetAlpha(float64)
// Palette creates a Palette with the specified number of colors
// from the ColorMap.
Palette(colors int) Palette
}
A ColorMap maps scalar values to colors.
func Reverse ¶
Reverse reverses the direction of ColorMap c.
This example creates a color bar and a second color bar where the
direction of the colors are reversed.
Code:play
This example creates a color palette from a reversed ColorMap.
Code:play
Example¶
package main
import (
"log"
"gonum.org/v1/plot"
"gonum.org/v1/plot/palette"
"gonum.org/v1/plot/palette/moreland"
"gonum.org/v1/plot/plotter"
)
func main() {
p := plot.New()
l := &plotter.ColorBar{ColorMap: moreland.Kindlmann()}
l2 := &plotter.ColorBar{ColorMap: palette.Reverse(moreland.Kindlmann())}
l.ColorMap.SetMin(0.5)
l.ColorMap.SetMax(2.5)
l2.ColorMap.SetMin(2.5)
l2.ColorMap.SetMax(4.5)
p.Add(l, l2)
p.HideY()
p.X.Padding = 0
p.Title.Text = "A ColorMap and its Reverse"
if err := p.Save(300, 48, "testdata/reverse.png"); err != nil {
log.Panic(err)
}
}
Example (Palette)¶
package main
import (
"log"
"strconv"
"gonum.org/v1/plot"
"gonum.org/v1/plot/palette"
"gonum.org/v1/plot/palette/moreland"
"gonum.org/v1/plot/plotter"
)
func main() {
p := plot.New()
thumbs := plotter.PaletteThumbnailers(palette.Reverse(moreland.Kindlmann()).Palette(10))
for i, t := range thumbs {
p.Legend.Add(strconv.Itoa(i), t)
}
p.HideAxes()
p.X.Padding = 0
p.Y.Padding = 0
if err := p.Save(35, 120, "testdata/reverse_palette.png"); err != nil {
log.Panic(err)
}
}
type DivergingColorMap ¶
type DivergingColorMap interface {
ColorMap
// SetConvergePoint sets the value where the diverging colors
// should meet. The default value should be expected to be
// (Min() + Max()) / 2. It should be expected that calling either
// SetMax() or SetMin() will set a new default value, so for a
// custom convergence point this function should be called after
// SetMax() and SetMin(). The function should be expected to panic
// if the value is not between Min() and Max().
SetConvergePoint(float64)
// ConvergePoint returns the value where the diverging colors meet.
ConvergePoint() float64
}
DivergingColorMap maps scalar values to colors that diverge from a central value.
type DivergingPalette ¶
type DivergingPalette interface {
Palette
// CriticalIndex returns the indices of the lightest
// (median) color or colors in the DivergingPalette.
// The low and high index values will be equal when
// there is a single median color.
CriticalIndex() (low, high int)
}
DivergingPalette is a collection of colors ordered into a palette with a critical class or break in the middle of the color range.
func Radial ¶
func Radial(colors int, start, end Hue, alpha float64) DivergingPalette
Radial return a diverging palette across the specified range, through white and with the specified alpha.
type HSVA ¶
type HSVA struct {
H, S, V, A float64
}
HSVA represents a Hue/Saturation/Value/Alpha color. H, S, V and A are valid within [0, 1].
func (HSVA) RGBA ¶
RGBA allows HSVAColor to satisfy the color.Color interface.
type Hue ¶
type Hue float64
Hue represents a hue in HSV color space. Valid Hues are within [0, 1].
func (Hue) Complement ¶
Complement returns the complementary hue of a Hue.
type Palette ¶
Palette is a collection of colors ordered into a palette.
func Heat ¶
Heat returns a red to yellow palette with the specified number of colors and alpha.
func Rainbow ¶
Rainbow returns a rainbow palette with the specified number of colors, saturation value and alpha, and hues in the specified range.
Source Files ¶
hsva.go palette.go reverse.go
Directories ¶
| Path | Synopsis |
|---|---|
| palette/brewer | Package brewer provides Brewer Palettes for informative graphics. |
| palette/moreland | Package moreland provides color maps for pseudocoloring scalar fields. |
- Version
- v0.16.0 (latest)
- Published
- Mar 26, 2025
- Platform
- linux/amd64
- Imports
- 3 packages
- Last checked
- 3 weeks ago –
Tools for package owners.