package main import ( "io/ioutil" "os" "path/filepath" "github.com/vicanso/go-charts/v2" ) func writeFile(buf []byte) error { tmpPath := "./tmp" err := os.MkdirAll(tmpPath, 0700) if err != nil { return err } file := filepath.Join(tmpPath, "area-line-chart.png") err = ioutil.WriteFile(file, buf, 0600) if err != nil { return err } return nil } func main() { values := [][]float64{ { 120, 132, 101, 134, 90, 230, 210, }, } p, err := charts.LineRender( values, charts.TitleTextOptionFunc("Line"), charts.XAxisDataOptionFunc([]string{ "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun", }), charts.LegendLabelsOptionFunc([]string{ "Email", }, "50"), func(opt *charts.ChartOption) { opt.Legend.Padding = charts.Box{ Top: 5, Bottom: 10, } opt.FillArea = true }, ) if err != nil { panic(err) } buf, err := p.Bytes() if err != nil { panic(err) } err = writeFile(buf) if err != nil { panic(err) } }