...
1
2
3
4
5 package plotter_test
6
7 import (
8 "image"
9 "image/color"
10 "image/png"
11 "log"
12 "os"
13
14 "gonum.org/v1/plot"
15 "gonum.org/v1/plot/plotter"
16 "gonum.org/v1/plot/vg"
17 )
18
19
20 func ExampleImage() {
21 p := plot.New()
22 p.Title.Text = "A Logo"
23
24
25 f, err := os.Open("testdata/image_plot_input.png")
26 if err != nil {
27 log.Fatalf("error opening image file: %v\n", err)
28 }
29 defer f.Close()
30
31 img, err := png.Decode(f)
32 if err != nil {
33 log.Fatalf("error decoding image file: %v\n", err)
34 }
35
36 p.Add(plotter.NewImage(img, 100, 100, 200, 200))
37
38 const (
39 w = 5 * vg.Centimeter
40 h = 5 * vg.Centimeter
41 )
42
43 err = p.Save(w, h, "testdata/image_plot.png")
44 if err != nil {
45 log.Fatalf("error saving image plot: %v\n", err)
46 }
47 }
48
49
50 func ExampleImage_log() {
51 p := plot.New()
52 p.Title.Text = "A Logo"
53
54
55 f, err := os.Open("testdata/gopher.png")
56 if err != nil {
57 log.Fatalf("error opening image file: %v\n", err)
58 }
59 defer f.Close()
60
61 img, err := png.Decode(f)
62 if err != nil {
63 log.Fatalf("error decoding image file: %v\n", err)
64 }
65
66 p.Add(plotter.NewImage(img, 100, 100, 10000, 10000))
67
68
69 p.X.Scale = plot.LogScale{}
70 p.Y.Scale = plot.LogScale{}
71 p.X.Tick.Marker = plot.LogTicks{Prec: -1}
72 p.Y.Tick.Marker = plot.LogTicks{Prec: 3}
73
74 const (
75 w = 5 * vg.Centimeter
76 h = 5 * vg.Centimeter
77 )
78
79 err = p.Save(w, h, "testdata/image_plot_log.png")
80 if err != nil {
81 log.Fatalf("error saving image plot: %v\n", err)
82 }
83 }
84
85
86 func ExampleImage_uniform() {
87 p := plot.New()
88 p.Title.Text = "Uniform image"
89
90 img := image.NewUniform(color.RGBA{R: 90, G: 155, B: 212, A: 255})
91 p.Add(plotter.NewImage(img, 100, 100, 10000, 10000))
92
93 const (
94 w = 5 * vg.Centimeter
95 h = 5 * vg.Centimeter
96 )
97
98 err := p.Save(w, h, "testdata/image_plot_uniform.png")
99 if err != nil {
100 log.Fatalf("error saving image plot: %v\n", err)
101 }
102 }
103
View as plain text