本文整理汇总了Golang中github.com/sksullivan/plot.New函数的典型用法代码示例。如果您正苦于以下问题:Golang New函数的具体用法?Golang New怎么用?Golang New使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了New函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: Example_groupedBoxPlots
// Example_groupedBoxPlots draws vertical boxplots.
func Example_groupedBoxPlots() *plot.Plot {
rand.Seed(int64(0))
n := 100
uniform := make(plotter.Values, n)
normal := make(plotter.Values, n)
expon := make(plotter.Values, n)
for i := 0; i < n; i++ {
uniform[i] = rand.Float64()
normal[i] = rand.NormFloat64()
expon[i] = rand.ExpFloat64()
}
p, err := plot.New()
if err != nil {
panic(err)
}
p.Title.Text = "Box Plot"
p.Y.Label.Text = "plotter.Values"
w := vg.Points(20)
for x := 0.0; x < 3.0; x++ {
b0 := must(plotter.NewBoxPlot(w, x, uniform)).(*plotter.BoxPlot)
b0.Offset = -w - vg.Points(3)
b1 := must(plotter.NewBoxPlot(w, x, normal)).(*plotter.BoxPlot)
b2 := must(plotter.NewBoxPlot(w, x, expon)).(*plotter.BoxPlot)
b2.Offset = w + vg.Points(3)
p.Add(b0, b1, b2)
}
// Set the X axis of the plot to nominal with
// the given names for x=0, x=1 and x=2.
p.NominalX("Group 0", "Group 1", "Group 2")
return p
}
开发者ID:sksullivan,项目名称:plot,代码行数:35,代码来源:main.go
示例2: Example_quartPlots
// Example_quartPlots draws vertical quartile plots.
func Example_quartPlots() *plot.Plot {
rand.Seed(int64(0))
n := 100
uniform := make(plotter.Values, n)
normal := make(plotter.Values, n)
expon := make(plotter.Values, n)
for i := 0; i < n; i++ {
uniform[i] = rand.Float64()
normal[i] = rand.NormFloat64()
expon[i] = rand.ExpFloat64()
}
p, err := plot.New()
if err != nil {
panic(err)
}
p.Title.Text = "Quartile Plot"
p.Y.Label.Text = "plotter.Values"
p.Add(must(plotter.NewQuartPlot(0, uniform)).(*plotter.QuartPlot),
must(plotter.NewQuartPlot(1, normal)).(*plotter.QuartPlot),
must(plotter.NewQuartPlot(2, expon)).(*plotter.QuartPlot))
// Set the X axis of the plot to nominal with
// the given names for x=0, x=1 and x=2.
p.NominalX("Uniform\nDistribution", "Normal\nDistribution",
"Exponential\nDistribution")
return p
}
开发者ID:sksullivan,项目名称:plot,代码行数:30,代码来源:main.go
示例3: Example_errBars
// Example_errBars draws points and error bars.
func Example_errBars() *plot.Plot {
type errPoints struct {
plotter.XYs
plotter.YErrors
plotter.XErrors
}
rand.Seed(int64(0))
n := 15
data := errPoints{
XYs: randomPoints(n),
YErrors: plotter.YErrors(randomError(n)),
XErrors: plotter.XErrors(randomError(n)),
}
p, err := plot.New()
if err != nil {
panic(err)
}
scatter := must(plotter.NewScatter(data)).(*plotter.Scatter)
scatter.Shape = draw.CrossGlyph{}
xerrs, err := plotter.NewXErrorBars(data)
if err != nil {
panic(err)
}
yerrs, err := plotter.NewYErrorBars(data)
if err != nil {
panic(err)
}
p.Add(scatter, xerrs, yerrs)
p.Add(plotter.NewGlyphBoxes())
return p
}
开发者ID:sksullivan,项目名称:plot,代码行数:36,代码来源:main.go
示例4: Example_functions
// Example_functions draws some functions.
func Example_functions() *plot.Plot {
p, err := plot.New()
if err != nil {
panic(err)
}
p.Title.Text = "Functions"
p.X.Label.Text = "X"
p.Y.Label.Text = "Y"
quad := plotter.NewFunction(func(x float64) float64 { return x * x })
quad.Color = color.RGBA{B: 255, A: 255}
exp := plotter.NewFunction(func(x float64) float64 { return math.Pow(2, x) })
exp.Dashes = []vg.Length{vg.Points(2), vg.Points(2)}
exp.Width = vg.Points(2)
exp.Color = color.RGBA{G: 255, A: 255}
sin := plotter.NewFunction(func(x float64) float64 { return 10*math.Sin(x) + 50 })
sin.Dashes = []vg.Length{vg.Points(4), vg.Points(5)}
sin.Width = vg.Points(4)
sin.Color = color.RGBA{R: 255, A: 255}
p.Add(quad, exp, sin)
p.Legend.Add("x^2", quad)
p.Legend.Add("2^x", exp)
p.Legend.Add("10*sin(x)+50", sin)
p.Legend.ThumbnailWidth = 0.5 * vg.Inch
p.X.Min = 0
p.X.Max = 10
p.Y.Min = 0
p.Y.Max = 100
return p
}
开发者ID:sksullivan,项目名称:plot,代码行数:35,代码来源:main.go
示例5: Example_histogram
// An example of making a histogram.
func Example_histogram() *plot.Plot {
rand.Seed(int64(0))
n := 10000
vals := make(plotter.Values, n)
for i := 0; i < n; i++ {
vals[i] = rand.NormFloat64()
}
p, err := plot.New()
if err != nil {
panic(err)
}
p.Title.Text = "Histogram"
h, err := plotter.NewHist(vals, 16)
if err != nil {
panic(err)
}
h.Normalize(1)
p.Add(h)
// The normal distribution function
norm := plotter.NewFunction(stdNorm)
norm.Color = color.RGBA{R: 255, A: 255}
norm.Width = vg.Points(2)
p.Add(norm)
return p
}
开发者ID:sksullivan,项目名称:plot,代码行数:29,代码来源:main.go
示例6: Example_logo
// Draw the plotinum logo.
func Example_logo() *plot.Plot {
p, err := plot.New()
if err != nil {
panic(err)
}
plotter.DefaultLineStyle.Width = vg.Points(1)
plotter.DefaultGlyphStyle.Radius = vg.Points(3)
p.Y.Tick.Marker = plot.ConstantTicks([]plot.Tick{
{0, "0"}, {0.25, ""}, {0.5, "0.5"}, {0.75, ""}, {1, "1"},
})
p.X.Tick.Marker = plot.ConstantTicks([]plot.Tick{
{0, "0"}, {0.25, ""}, {0.5, "0.5"}, {0.75, ""}, {1, "1"},
})
pts := plotter.XYs{{0, 0}, {0, 1}, {0.5, 1}, {0.5, 0.6}, {0, 0.6}}
line := must(plotter.NewLine(pts)).(*plotter.Line)
scatter := must(plotter.NewScatter(pts)).(*plotter.Scatter)
p.Add(line, scatter)
pts = plotter.XYs{{1, 0}, {0.75, 0}, {0.75, 0.75}}
line = must(plotter.NewLine(pts)).(*plotter.Line)
scatter = must(plotter.NewScatter(pts)).(*plotter.Scatter)
p.Add(line, scatter)
pts = plotter.XYs{{0.5, 0.5}, {1, 0.5}}
line = must(plotter.NewLine(pts)).(*plotter.Line)
scatter = must(plotter.NewScatter(pts)).(*plotter.Scatter)
p.Add(line, scatter)
return p
}
开发者ID:sksullivan,项目名称:plot,代码行数:34,代码来源:main.go
示例7: TestIssue179
func TestIssue179(t *testing.T) {
scatter, err := plotter.NewScatter(plotter.XYs{{1, 1}, {0, 1}, {0, 0}})
if err != nil {
log.Fatal(err)
}
p, err := plot.New()
if err != nil {
log.Fatal(err)
}
p.Add(scatter)
p.HideAxes()
c := vgimg.JpegCanvas{Canvas: vgimg.New(5.08*vg.Centimeter, 5.08*vg.Centimeter)}
p.Draw(draw.New(c))
b := bytes.NewBuffer([]byte{})
if _, err = c.WriteTo(b); err != nil {
t.Error(err)
}
f, err := os.Open(filepath.Join("testdata", "issue179.jpg"))
if err != nil {
t.Error(err)
}
defer f.Close()
want, err := ioutil.ReadAll(f)
if err != nil {
t.Error(err)
}
if !bytes.Equal(b.Bytes(), want) {
t.Error("Image mismatch")
}
}
开发者ID:sksullivan,项目名称:plot,代码行数:33,代码来源:vgimg_test.go
示例8: TestComplexContours
func TestComplexContours(t *testing.T) {
if !*visualDebug {
return
}
for _, n := range []float64{0, 1, 2, 4, 8, 16, 32} {
rand.Seed(0)
data := make([]float64, 6400)
for i := range data {
r := float64(i/80) - 40
c := float64(i%80) - 40
data[i] = rand.NormFloat64()*n + math.Hypot(r, c)
}
m := unitGrid{mat64.NewDense(80, 80, data)}
levels := []float64{-1, 3, 7, 9, 13, 15, 19, 23, 27, 31}
c := NewContour(m, levels, palette.Rainbow(10, palette.Blue, palette.Red, 1, 1, 1))
plt, _ := plot.New()
plt.Add(c)
plt.X.Padding = 0
plt.Y.Padding = 0
plt.X.Max = 79.5
plt.Y.Max = 79.5
plt.Save(7, 7, fmt.Sprintf("complex_contour-%v.svg", n))
}
}
开发者ID:sksullivan,项目名称:plot,代码行数:29,代码来源:contour_test.go
示例9: TestHeatMapWithContour
func TestHeatMapWithContour(t *testing.T) {
if !*visualDebug {
return
}
m := unitGrid{mat64.NewDense(3, 4, []float64{
2, 1, 4, 3,
6, 7, 2, 5,
9, 10, 11, 12,
})}
h := NewHeatMap(m, palette.Heat(12, 1))
levels := []float64{1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 11.5}
c := NewContour(m, levels, palette.Rainbow(10, palette.Blue, palette.Red, 1, 1, 1))
c.LineStyles[0].Width *= 5
plt, _ := plot.New()
plt.Add(h)
plt.Add(c)
plt.Add(NewGlyphBoxes())
plt.X.Padding = 0
plt.Y.Padding = 0
plt.X.Max = 3.5
plt.Y.Max = 2.5
plt.Save(7, 7, "heat.svg")
}
开发者ID:sksullivan,项目名称:plot,代码行数:27,代码来源:contour_test.go
示例10: Example_groupedHorizontalQuartPlots
func Example_groupedHorizontalQuartPlots() *plot.Plot {
rand.Seed(int64(0))
n := 100
uniform := make(plotter.Values, n)
normal := make(plotter.Values, n)
expon := make(plotter.Values, n)
for i := 0; i < n; i++ {
uniform[i] = rand.Float64()
normal[i] = rand.NormFloat64()
expon[i] = rand.ExpFloat64()
}
p, err := plot.New()
if err != nil {
panic(err)
}
p.Title.Text = "Box Plot"
p.Y.Label.Text = "plotter.Values"
w := vg.Points(10)
for x := 0.0; x < 3.0; x++ {
b0 := must(plotter.MakeHorizQuartPlot(x, uniform)).(plotter.HorizQuartPlot)
b0.Offset = -w
b1 := must(plotter.MakeHorizQuartPlot(x, normal)).(plotter.HorizQuartPlot)
b2 := must(plotter.MakeHorizQuartPlot(x, expon)).(plotter.HorizQuartPlot)
b2.Offset = w
p.Add(b0, b1, b2)
}
p.Add(plotter.NewGlyphBoxes())
p.NominalY("Group 0", "Group 1", "Group 2")
return p
}
开发者ID:sksullivan,项目名称:plot,代码行数:33,代码来源:main.go
示例11: Example_horizontalQuartPlots
// Example_horizontalQuartPlots draws horizontal quartile plots
// with some labels on their points.
func Example_horizontalQuartPlots() *plot.Plot {
rand.Seed(int64(0))
n := 100
uniform := make(valueLabels, n)
normal := make(valueLabels, n)
expon := make(valueLabels, n)
for i := 0; i < n; i++ {
uniform[i].Value = rand.Float64()
uniform[i].Label = fmt.Sprintf("%4.4f", uniform[i].Value)
normal[i].Value = rand.NormFloat64()
normal[i].Label = fmt.Sprintf("%4.4f", normal[i].Value)
expon[i].Value = rand.ExpFloat64()
expon[i].Label = fmt.Sprintf("%4.4f", expon[i].Value)
}
p, err := plot.New()
if err != nil {
panic(err)
}
p.Title.Text = "Horizontal Quartile Plot"
p.X.Label.Text = "plotter.Values"
// Make boxes for our data and add them to the plot.
uniBox := must(plotter.MakeHorizQuartPlot(0, uniform)).(plotter.HorizQuartPlot)
uniLabels, err := uniBox.OutsideLabels(uniform)
if err != nil {
panic(err)
}
normBox := must(plotter.MakeHorizQuartPlot(1, normal)).(plotter.HorizQuartPlot)
normLabels, err := normBox.OutsideLabels(normal)
if err != nil {
panic(err)
}
expBox := must(plotter.MakeHorizQuartPlot(2, expon)).(plotter.HorizQuartPlot)
expLabels, err := expBox.OutsideLabels(expon)
if err != nil {
panic(err)
}
p.Add(uniBox, uniLabels, normBox, normLabels, expBox, expLabels)
// Add a GlyphBox plotter for debugging.
p.Add(plotter.NewGlyphBoxes())
// Set the Y axis of the plot to nominal with
// the given names for y=0, y=1 and y=2.
p.NominalY("Uniform\nDistribution", "Normal\nDistribution",
"Exponential\nDistribution")
return p
}
开发者ID:sksullivan,项目名称:plot,代码行数:53,代码来源:main.go
示例12: Example_verticalBoxPlots
// Example_verticalBoxPlots draws vertical boxplots
// with some labels on their points.
func Example_verticalBoxPlots() *plot.Plot {
rand.Seed(int64(0))
n := 100
uniform := make(valueLabels, n)
normal := make(valueLabels, n)
expon := make(valueLabels, n)
for i := 0; i < n; i++ {
uniform[i].Value = rand.Float64()
uniform[i].Label = fmt.Sprintf("%4.4f", uniform[i].Value)
normal[i].Value = rand.NormFloat64()
normal[i].Label = fmt.Sprintf("%4.4f", normal[i].Value)
expon[i].Value = rand.ExpFloat64()
expon[i].Label = fmt.Sprintf("%4.4f", expon[i].Value)
}
p, err := plot.New()
if err != nil {
panic(err)
}
p.Title.Text = "Box Plot"
p.Y.Label.Text = "plotter.Values"
// Make boxes for our data and add them to the plot.
uniBox := must(plotter.NewBoxPlot(vg.Points(20), 0, uniform)).(*plotter.BoxPlot)
uniLabels, err := uniBox.OutsideLabels(uniform)
if err != nil {
panic(err)
}
normBox := must(plotter.NewBoxPlot(vg.Points(20), 1, normal)).(*plotter.BoxPlot)
normLabels, err := normBox.OutsideLabels(normal)
if err != nil {
panic(err)
}
expBox := must(plotter.NewBoxPlot(vg.Points(20), 2, expon)).(*plotter.BoxPlot)
expLabels, err := expBox.OutsideLabels(expon)
if err != nil {
panic(err)
}
p.Add(uniBox, uniLabels, normBox, normLabels, expBox, expLabels)
// Set the X axis of the plot to nominal with
// the given names for x=0, x=1 and x=2.
p.NominalX("Uniform\nDistribution", "Normal\nDistribution",
"Exponential\nDistribution")
return p
}
开发者ID:sksullivan,项目名称:plot,代码行数:51,代码来源:main.go
示例13: main
func main() {
var levels []float64
for l := 100.5; l < volcano.Matrix.(*mat64.Dense).Max(); l += 5 {
levels = append(levels, l)
}
c := plotter.NewContour(volcano, levels, palette.Rainbow(len(levels), (palette.Yellow+palette.Red)/2, palette.Blue, 1, 1, 1))
quarterStyle := draw.LineStyle{
Color: color.Black,
Width: vg.Points(0.5),
Dashes: []vg.Length{0.2, 0.4},
}
halfStyle := draw.LineStyle{
Color: color.Black,
Width: vg.Points(0.5),
Dashes: []vg.Length{5, 2, 1, 2},
}
c.LineStyles = append(c.LineStyles, quarterStyle, halfStyle, quarterStyle)
h := plotter.NewHeatMap(volcano, palette.Heat(len(levels)*2, 1))
p, err := plot.New()
if err != nil {
panic(err)
}
p.Title.Text = "Maunga Whau Volcano"
p.Add(h)
p.Add(c)
p.X.Padding = 0
p.Y.Padding = 0
_, p.X.Max, _, p.Y.Max = h.DataRange()
name := "example_volcano"
for _, ext := range []string{
".eps",
".pdf",
".svg",
".png",
".tiff",
".jpg",
} {
if err := p.Save(4, 4, name+ext); err != nil {
panic(err)
}
}
}
开发者ID:sksullivan,项目名称:plot,代码行数:48,代码来源:volcano_example.go
示例14: lines
func lines(w vg.Length) (*plot.Plot, error) {
p, err := plot.New()
if err != nil {
return nil, err
}
pts := plotter.XYs{{0, 0}, {0, 1}, {1, 0}, {1, 1}}
line, err := plotter.NewLine(pts)
line.Width = w
if err != nil {
return nil, err
}
p.Add(line)
return p, nil
}
开发者ID:sksullivan,项目名称:plot,代码行数:16,代码来源:vg_test.go
示例15: main
func main() {
rand.Seed(int64(0))
p, err := plot.New()
if err != nil {
panic(err)
}
p.Title.Text = "Plotutil example"
p.X.Label.Text = "X"
p.Y.Label.Text = "Y"
err = plotutil.AddLinePoints(
p,
"First", randomPoints(15),
)
if err != nil {
panic(err)
}
cnvs, err := vgx11.New(4*96, 4*96, "Example")
if err != nil {
panic(err)
}
p.Draw(draw.New(cnvs))
cnvs.Paint()
time.Sleep(5 * time.Second)
err = plotutil.AddLinePoints(
p,
"Second", randomPoints(15),
"Third", randomPoints(15),
)
if err != nil {
panic(err)
}
p.Draw(draw.New(cnvs))
cnvs.Paint()
time.Sleep(10 * time.Second)
// Save the plot to a PNG file.
// if err := p.Save(4, 4, "points.png"); err != nil {
// panic(err)
// }
}
开发者ID:sksullivan,项目名称:plot,代码行数:47,代码来源:main.go
示例16: Example_stackedAreaChart
// An example of making a stacked area chart.
func Example_stackedAreaChart() *plot.Plot {
p, err := plot.New()
if err != nil {
panic(err)
}
p.Title.Text = "Example: Software Version Comparison"
p.X.Label.Text = "Date"
p.Y.Label.Text = "Users (in thousands)"
p.Legend.Top = true
p.Legend.Left = true
vals := []plotter.Values{
plotter.Values{0.02, 0.015, 0, 0, 0, 0, 0},
plotter.Values{0, 0.48, 0.36, 0.34, 0.32, 0.32, 0.28},
plotter.Values{0, 0, 0.87, 1.4, 0.64, 0.32, 0.28},
plotter.Values{0, 0, 0, 1.26, 0.34, 0.12, 0.09},
plotter.Values{0, 0, 0, 0, 2.48, 2.68, 2.13},
plotter.Values{0, 0, 0, 0, 0, 1.32, 0.54},
plotter.Values{0, 0, 0, 0, 0, 0.68, 5.67},
}
err = plotutil.AddStackedAreaPlots(p, plotter.Values{2007, 2008, 2009, 2010, 2011, 2012, 2013},
"Version 3.0",
stackValues{vs: vals[0:7]},
"Version 2.1",
stackValues{vs: vals[0:6]},
"Version 2.0.1",
stackValues{vs: vals[0:5]},
"Version 2.0",
stackValues{vs: vals[0:4]},
"Version 1.1",
stackValues{vs: vals[0:3]},
"Version 1.0",
stackValues{vs: vals[0:2]},
"Beta",
stackValues{vs: vals[0:1]},
)
if err != nil {
panic(err)
}
return p
}
开发者ID:sksullivan,项目名称:plot,代码行数:47,代码来源:main.go
示例17: Example_barChart
// An example of making a bar chart.
func Example_barChart() *plot.Plot {
groupA := plotter.Values{20, 35, 30, 35, 27}
groupB := plotter.Values{25, 32, 34, 20, 25}
groupC := plotter.Values{12, 28, 15, 21, 8}
groupD := plotter.Values{30, 42, 6, 9, 12}
p, err := plot.New()
if err != nil {
panic(err)
}
p.Title.Text = "Bar chart"
p.Y.Label.Text = "Heights"
w := vg.Points(8)
barsA := must(plotter.NewBarChart(groupA, w)).(*plotter.BarChart)
barsA.Color = color.RGBA{R: 255, A: 255}
barsA.Offset = -w / 2
barsB := must(plotter.NewBarChart(groupB, w)).(*plotter.BarChart)
barsB.Color = color.RGBA{R: 196, G: 196, A: 255}
barsB.Offset = w / 2
barsC := must(plotter.NewBarChart(groupC, w)).(*plotter.BarChart)
barsC.Color = color.RGBA{B: 255, A: 255}
barsC.XMin = 6
barsC.Offset = -w / 2
barsD := must(plotter.NewBarChart(groupD, w)).(*plotter.BarChart)
barsD.Color = color.RGBA{B: 255, R: 255, A: 255}
barsD.XMin = 6
barsD.Offset = w / 2
p.Add(barsA, barsB, barsC, barsD)
p.Legend.Add("A", barsA)
p.Legend.Add("B", barsB)
p.Legend.Add("C", barsC)
p.Legend.Add("D", barsD)
p.Legend.Top = true
p.NominalX("Zero", "One", "Two", "Three", "Four", "",
"Six", "Seven", "Eight", "Nine", "Ten")
return p
}
开发者ID:sksullivan,项目名称:plot,代码行数:45,代码来源:main.go
示例18: TestIssue179
func TestIssue179(t *testing.T) {
if !hasX11() {
t.Skip("no X11 environment")
}
scatter, err := plotter.NewScatter(plotter.XYs{{1, 1}, {0, 1}, {0, 0}})
if err != nil {
t.Fatalf("error: %v\n", err)
}
p, err := plot.New()
if err != nil {
t.Fatalf("error: %v\n", err)
}
p.Add(scatter)
p.HideAxes()
c, err := New(5.08*vg.Centimeter, 5.08*vg.Centimeter, "test issue179")
if err != nil {
t.Fatalf("error: %v\n", err)
}
p.Draw(draw.New(c))
b := bytes.NewBuffer([]byte{})
err = jpeg.Encode(b, c.ximg, nil)
if err != nil {
t.Error(err)
}
f, err := os.Open(filepath.Join("..", "vgimg", "testdata", "issue179.jpg"))
if err != nil {
t.Error(err)
}
defer f.Close()
want, err := ioutil.ReadAll(f)
if err != nil {
t.Error(err)
}
if !bytes.Equal(b.Bytes(), want) {
t.Error("Image mismatch")
}
}
开发者ID:sksullivan,项目名称:plot,代码行数:42,代码来源:canvas_test.go
示例19: ExampleErrorPoints
func ExampleErrorPoints() {
// Get some random data.
n, m := 5, 10
pts := make([]plotter.XYer, n)
for i := range pts {
xys := make(plotter.XYs, m)
pts[i] = xys
center := float64(i)
for j := range xys {
xys[j].X = center + (rand.Float64() - 0.5)
xys[j].Y = center + (rand.Float64() - 0.5)
}
}
plt, err := plot.New()
if err != nil {
panic(err)
}
mean95, err := NewErrorPoints(MeanAndConf95, pts...)
if err != nil {
panic(err)
}
medMinMax, err := NewErrorPoints(MedianAndMinMax, pts...)
if err != nil {
panic(err)
}
err = AddLinePoints(plt,
"mean and 95% confidence", mean95,
"median and minimum and maximum", medMinMax)
if err != nil {
panic(err)
}
if err := AddErrorBars(plt, mean95, medMinMax); err != nil {
panic(err)
}
if err := AddScatters(plt, pts[0], pts[1], pts[2], pts[3], pts[4]); err != nil {
panic(err)
}
plt.Save(4, 4, "centroids.png")
}
开发者ID:sksullivan,项目名称:plot,代码行数:42,代码来源:errorpoints_test.go
示例20: Example_points
// Example_points draws some scatter points, a line,
// and a line with points.
func Example_points() *plot.Plot {
rand.Seed(int64(0))
n := 15
scatterData := randomPoints(n)
lineData := randomPoints(n)
linePointsData := randomPoints(n)
p, err := plot.New()
if err != nil {
panic(err)
}
p.Title.Text = "Points Example"
p.X.Label.Text = "X"
p.Y.Label.Text = "Y"
p.Add(plotter.NewGrid())
s := must(plotter.NewScatter(scatterData)).(*plotter.Scatter)
s.GlyphStyle.Color = color.RGBA{R: 255, B: 128, A: 255}
s.GlyphStyle.Radius = vg.Points(3)
l := must(plotter.NewLine(lineData)).(*plotter.Line)
l.LineStyle.Width = vg.Points(1)
l.LineStyle.Dashes = []vg.Length{vg.Points(5), vg.Points(5)}
l.LineStyle.Color = color.RGBA{B: 255, A: 255}
lpLine, lpPoints, err := plotter.NewLinePoints(linePointsData)
if err != nil {
panic(err)
}
lpLine.Color = color.RGBA{G: 255, A: 255}
lpPoints.Shape = draw.CircleGlyph{}
lpPoints.Color = color.RGBA{R: 255, A: 255}
p.Add(s, l, lpLine, lpPoints)
p.Legend.Add("scatter", s)
p.Legend.Add("line", l)
p.Legend.Add("line points", lpLine, lpPoints)
return p
}
开发者ID:sksullivan,项目名称:plot,代码行数:43,代码来源:main.go
注:本文中的github.com/sksullivan/plot.New函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论