package main import ( "fmt" "net/http" "github.com/wcharczuk/go-chart" util "github.com/wcharczuk/go-chart/util" ) func drawChart(res http.ResponseWriter, req *http.Request) { /* In this example we add a second series, and assign it to the secondary y axis, giving that series it's own range. We also enable all of the axes by setting the `Show` propery of their respective styles to `true`. */ graph := chart.Chart{ XAxis: chart.XAxis{ Style: chart.StyleShow(), //enables / displays the x-axis TickPosition: chart.TickPositionBetweenTicks, ValueFormatter: func(v interface{}) string { typed := v.(float64) typedDate := util.Time.FromFloat64(typed) return fmt.Sprintf("%d-%d\n%d", typedDate.Month(), typedDate.Day(), typedDate.Year()) }, }, YAxis: chart.YAxis{ Style: chart.StyleShow(), //enables / displays the y-axis }, YAxisSecondary: chart.YAxis{ Style: chart.StyleShow(), //enables / displays the secondary y-axis }, Series: []chart.Series{ chart.ContinuousSeries{ XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, }, chart.ContinuousSeries{ YAxis: chart.YAxisSecondary, XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, YValues: []float64{50.0, 40.0, 30.0, 20.0, 10.0}, }, }, } res.Header().Set("Content-Type", "image/png") graph.Render(chart.PNG, res) } func main() { http.HandleFunc("/", drawChart) http.ListenAndServe(":8080", nil) }