fix title

main
bel 2024-02-14 10:08:43 -07:00
parent ba824be243
commit bf0c27efca
2 changed files with 28 additions and 26 deletions

View File

@ -32,8 +32,8 @@ type Data struct {
func newConfig() (Config, error) {
dataPoints := envOr("DATA_POINTS", `[[1, 1], [1, 2], [2, 1], [2, 1], [4, 3]]`)
dataLabels := envOr("DATA_LABELS", ``)
dataWeightFloor := envOr("DATA_WEIGHT_FLOOR", `12`)
dataWeightRange := envOr("DATA_WEIGHT_RANGE", `20`)
dataWeightFloor := envOr("DATA_WEIGHT_FLOOR", `12`)
dataTitle := envOr("DATA_TITLE", ``)
dataSubtitle := envOr("DATA_SUBTITLE", ``)
output := envOr("OUTPUT", `file:///tmp/f`)
@ -87,6 +87,9 @@ func newConfig() (Config, error) {
return result, fmt.Errorf("found negative weight floor %d", result.Data.Weight.Floor)
}
result.Data.Title = dataTitle
result.Data.Subtitle = dataSubtitle
if u, err := url.Parse(output); err != nil {
return result, fmt.Errorf("failed to parse $OUTPUT (%s): %w", output, err)
} else {
@ -151,11 +154,8 @@ func (d Data) weighXYasZ() Data {
}
xyz[x][y] += z
}
result := Data{
Labels: d.Labels[:],
Points: [][]float64{},
Weight: d.Weight,
}
result := d
result.Points = [][]float64{}
for x := range xyz {
for y, z := range xyz[x] {
result.Points = append(result.Points, []float64{x, y, z})

42
main.go
View File

@ -31,28 +31,30 @@ func run(ctx context.Context) error {
if err != nil {
return err
}
log.Printf("(%s, %s) = %v", x, y, data)
log.Printf("%s: (%s, %s) = %v", config.Data.Title, x, y, data)
scatter := charts.NewScatter()
scatter.SetGlobalOptions(charts.WithTitleOpts(opts.Title{
Title: config.Data.Title,
Subtitle: config.Data.Subtitle,
}))
scatter.SetGlobalOptions(charts.WithTooltipOpts(opts.Tooltip{
Show: true,
Formatter: `{c}`,
}))
scatter.SetGlobalOptions(charts.WithLegendOpts(opts.Legend{Show: false}))
scatter.SetGlobalOptions(charts.WithXAxisOpts(opts.XAxis{
Name: x,
NameLocation: "middle",
NameGap: config.Data.Weight.Floor + config.Data.Weight.Range,
}))
scatter.SetGlobalOptions(charts.WithYAxisOpts(opts.YAxis{
Name: y,
NameLocation: "middle",
NameGap: config.Data.Weight.Floor + config.Data.Weight.Range,
}))
scatter.SetGlobalOptions(
charts.WithTitleOpts(opts.Title{
Title: config.Data.Title,
Subtitle: config.Data.Subtitle,
}),
charts.WithTooltipOpts(opts.Tooltip{
Show: true,
Formatter: `{c}`,
}),
charts.WithLegendOpts(opts.Legend{Show: false}),
charts.WithXAxisOpts(opts.XAxis{
Name: x,
NameLocation: "middle",
NameGap: config.Data.Weight.Floor + config.Data.Weight.Range,
}),
charts.WithYAxisOpts(opts.YAxis{
Name: y,
NameLocation: "middle",
NameGap: config.Data.Weight.Floor + config.Data.Weight.Range,
}),
)
scatter.AddSeries(y, data)
buff := bytes.NewBuffer(nil)