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.15.0 (latest)
- Published
- Oct 22, 2024
- Platform
- linux/amd64
- Imports
- 3 packages
- Last checked
- 2 weeks ago –
Tools for package owners.