package main
import (
"bytes"
"net/http"
charts "github.com/vicanso/go-charts"
"github.com/wcharczuk/go-chart/v2"
)
var html = `
go-charts
{{body}}
`
func indexHandler(w http.ResponseWriter, r *http.Request) {
if r.URL.Path != "/" {
return
}
d, err := charts.NewLineChart(charts.LineChartOption{
ChartOption: charts.ChartOption{
Theme: "dark",
Padding: chart.Box{
Left: 5,
Top: 15,
Bottom: 5,
Right: 10,
},
XAxis: charts.XAxisOption{
Data: []string{
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat",
"Sun",
},
// BoundaryGap: charts.FalseFlag(),
},
SeriesList: []charts.Series{
{
Data: []charts.SeriesData{
{
Value: 150,
},
{
Value: 230,
},
{
Value: 224,
},
{
Value: 218,
},
{
Value: 135,
},
{
Value: 147,
},
{
Value: 260,
},
},
},
{
Data: []charts.SeriesData{
{
Value: 220,
},
{
Value: 182,
},
{
Value: 191,
},
{
Value: 234,
},
{
Value: 290,
},
{
Value: 330,
},
{
Value: 310,
},
},
},
{
Data: []charts.SeriesData{
{
Value: 150,
},
{
Value: 232,
},
{
Value: 201,
},
{
Value: 154,
},
{
Value: 190,
},
{
Value: 330,
},
{
Value: 410,
},
},
},
},
},
})
if err != nil {
panic(err)
}
buf, _ := d.Bytes()
data := bytes.ReplaceAll([]byte(html), []byte("{{body}}"), buf)
w.Header().Set("Content-Type", "text/html")
w.Write(data)
}
func main() {
http.HandleFunc("/", indexHandler)
http.ListenAndServe(":3012", nil)
}