package main import ( "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, "radar-chart.png") err = os.WriteFile(file, buf, 0600) if err != nil { return err } return nil } func main() { values := [][]float64{ { 4200, 3000, 20000, 35000, 50000, 18000, }, { 5000, 14000, 28000, 26000, 42000, 21000, }, } p, err := charts.RadarRender( values, charts.TitleTextOptionFunc("Basic Radar Chart"), charts.LegendLabelsOptionFunc([]string{ "Allocated Budget", "Actual Spending", }), charts.RadarIndicatorOptionFunc([]string{ "Sales", "Administration", "Information Technology", "Customer Support", "Development", "Marketing", }, []float64{ 6500, 16000, 30000, 38000, 52000, 25000, }), ) if err != nil { panic(err) } buf, err := p.Bytes() if err != nil { panic(err) } err = writeFile(buf) if err != nil { panic(err) } }