From 3aa9f635bed5cd88dbf380875e3493ba4d313ebd Mon Sep 17 00:00:00 2001 From: Bel LaPointe <153096461+breel-render@users.noreply.github.com> Date: Wed, 21 Feb 2024 12:47:05 -0700 Subject: [PATCH] dont start at zero --- config.go | 2 +- main.go | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/config.go b/config.go index 0e0906f..5ca3fa9 100644 --- a/config.go +++ b/config.go @@ -30,7 +30,7 @@ type Data struct { } func newConfig() (Config, error) { - dataPoints := envOr("DATA_POINTS", `[[1, 1], [1, 2], [2, 1], [2, 1], [4, 3]]`) + dataPoints := envOr("DATA_POINTS", `[[11, 21], [11, 22], [12, 21], [12, 21], [14, 23]]`) dataLabels := envOr("DATA_LABELS", ``) dataWeightRange := envOr("DATA_WEIGHT_RANGE", `20`) dataWeightFloor := envOr("DATA_WEIGHT_FLOOR", `12`) diff --git a/main.go b/main.go index a4823e6..2f804cc 100644 --- a/main.go +++ b/main.go @@ -33,6 +33,37 @@ func run(ctx context.Context) error { } log.Printf("%s: (%s, %s) = %v", config.Data.Title, x, y, data) + minX, maxX := data[0].Value.([]float64)[0], data[0].Value.([]float64)[0] + minY, maxY := data[0].Value.([]float64)[1], data[0].Value.([]float64)[1] + for _, datum := range data { + x := datum.Value.([]float64)[0] + if x < minX { + minX = x + } else if x > maxX { + maxX = x + } + y := datum.Value.([]float64)[1] + if y < minY { + minY = y + } else if y > maxY { + maxY = y + } + } + + if 0 <= minX && minX <= 1 { + minX = 0 + } else if 1 <= minX { + minX -= 1 + maxX += 1 + } + if 0 <= minY && minY <= 1 { + minY = 0 + } else if 1 <= minY { + minY -= 1 + maxY += 1 + } + log.Printf("x=[%v, %v] y=[%v, %v]", minX, maxX, minY, maxY) + scatter := charts.NewScatter() scatter.SetGlobalOptions( charts.WithTitleOpts(opts.Title{ @@ -48,11 +79,15 @@ func run(ctx context.Context) error { Name: x, NameLocation: "middle", NameGap: config.Data.Weight.Floor + config.Data.Weight.Range, + Min: minX, + Max: maxX, }), charts.WithYAxisOpts(opts.YAxis{ Name: y, NameLocation: "middle", NameGap: config.Data.Weight.Floor + config.Data.Weight.Range, + Min: minY, + Max: maxY, }), ) scatter.AddSeries(y, data)