...
1
2
3
4
5 package vgpdf_test
6
7 import (
8 "fmt"
9 "image/color"
10 "log"
11 "os"
12
13 "gonum.org/v1/plot"
14 "gonum.org/v1/plot/plotter"
15 "gonum.org/v1/plot/vg"
16 "gonum.org/v1/plot/vg/draw"
17 "gonum.org/v1/plot/vg/vgpdf"
18 )
19
20
21
22 func Example_embedFonts() {
23 p := plot.New()
24
25 pts := plotter.XYs{{X: 0, Y: 0}, {X: 0, Y: 1}, {X: 1, Y: 0}, {X: 1, Y: 1}}
26 line, err := plotter.NewLine(pts)
27 if err != nil {
28 log.Fatalf("could not create line: %v", err)
29 }
30 p.Add(line)
31 p.X.Label.Text = "X axis"
32 p.Y.Label.Text = "Y axis"
33
34 c := vgpdf.New(100, 100)
35
36
37 c.EmbedFonts(true)
38 p.Draw(draw.New(c))
39
40 f, err := os.Create("testdata/enable-embedded-fonts.pdf")
41 if err != nil {
42 log.Fatal(err)
43 }
44 defer f.Close()
45
46 _, err = c.WriteTo(f)
47 if err != nil {
48 log.Fatalf("could not write canvas: %v", err)
49 }
50
51 err = f.Close()
52 if err != nil {
53 log.Fatalf("could not save canvas: %v", err)
54 }
55 }
56
57
58 func Example_multipage() {
59 c := vgpdf.New(5*vg.Centimeter, 5*vg.Centimeter)
60
61 for i, col := range []color.RGBA{{B: 255, A: 255}, {R: 255, A: 255}} {
62 if i > 0 {
63
64 c.NextPage()
65 }
66
67 p := plot.New()
68
69 pts := plotter.XYs{{X: 0, Y: 0}, {X: 0, Y: 1}, {X: 1, Y: 0}, {X: 1, Y: 1}}
70 line, err := plotter.NewLine(pts)
71 if err != nil {
72 log.Fatalf("could not create line: %v", err)
73 }
74 line.Color = col
75 p.Add(line)
76 p.Title.Text = fmt.Sprintf("Plot %d", i+1)
77 p.X.Label.Text = "X axis"
78 p.Y.Label.Text = "Y axis"
79
80
81 p.Draw(draw.New(c))
82 }
83
84 f, err := os.Create("testdata/multipage.pdf")
85 if err != nil {
86 log.Fatal(err)
87 }
88 defer f.Close()
89
90 _, err = c.WriteTo(f)
91 if err != nil {
92 log.Fatalf("could not write canvas: %v", err)
93 }
94
95 err = f.Close()
96 if err != nil {
97 log.Fatalf("could not save canvas: %v", err)
98 }
99 }
100
View as plain text