package main import ( "fwh-toolbox-server/utils/echart" "math/rand" "os" "time" "github.com/go-echarts/go-echarts/v2/opts" ) // 生成时间-数据序列 func generateLineItems() []opts.LineData { items := make([]opts.LineData, 0) now := time.Now() for i := 0; i < 10; i++ { // 随机值范围 -300 ~ +300 value := rand.Intn(600) - 300 items = append(items, opts.LineData{ Value: []interface{}{ now.Add(time.Duration(i) * time.Hour).Format(time.DateTime), value, }, }) } return items } func generateSocItems() []opts.LineData { items := make([]opts.LineData, 0) now := time.Now() for i := 0; i < 10; i++ { // 随机值范围 0 ~ 100 value := rand.Intn(100) items = append(items, opts.LineData{ Value: []interface{}{ now.Add(time.Duration(i) * time.Hour).Format(time.DateTime), value, }, }) } return items } func main() { var powerFlowData []echart.PowerFlowChartData = []echart.PowerFlowChartData{} powerFlowData = append(powerFlowData, echart.PowerFlowChartData{ Legend: "A", Data: generateLineItems(), }) powerFlowData = append(powerFlowData, echart.PowerFlowChartData{ Legend: "B", Data: generateLineItems(), }) powerFlowData = append(powerFlowData, echart.PowerFlowChartData{ Legend: "C", Data: generateLineItems(), }) powerFlowData = append(powerFlowData, echart.PowerFlowChartData{ Legend: "D", Data: generateLineItems(), }) var socData echart.SocChartData = echart.SocChartData{ Data: generateSocItems(), } lineOpt := echart.LineChartOpt{ Global: echart.ChartOpt{ Title: "功率流图", }, } line := echart.CreatePowerFlowChart(lineOpt, powerFlowData, socData) f, _ := os.Create("line.html") defer f.Close() line.Render(f) }