From 9d7d6da81bfe9e5d093f86efef886c415cfeeae8 Mon Sep 17 00:00:00 2001 From: "weizili.360.laptop" Date: Fri, 26 Dec 2014 17:42:51 +0800 Subject: [PATCH] add column plot chart --- examples/column.chart | 12 +++ pie.chart => examples/pie.chart | 0 spline.chart => examples/spline.chart | 0 server.go | 95 +++++++++++++---------- template_column_html.go | 4 + pie_html.go => template_pie_html.go | 2 +- spline_html.go => template_spline_html.go | 2 +- 7 files changed, 70 insertions(+), 45 deletions(-) create mode 100644 examples/column.chart rename pie.chart => examples/pie.chart (100%) rename spline.chart => examples/spline.chart (100%) create mode 100644 template_column_html.go rename pie_html.go => template_pie_html.go (98%) rename spline_html.go => template_spline_html.go (98%) diff --git a/examples/column.chart b/examples/column.chart new file mode 100644 index 0000000..69ef922 --- /dev/null +++ b/examples/column.chart @@ -0,0 +1,12 @@ +ChartType = column +Title = Source: WorldClimate.com +SubTitle = Monthly Average Temperature +ValueSuffix = °C +XAxisNumbers = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 +YAxisText = Temperature (°C) + +# The data and the name of the lines +Data|Tokyo = 7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6 +Data|New York = -0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5 +Data|Berlin = -0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0 +Data|London = 3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8 \ No newline at end of file diff --git a/pie.chart b/examples/pie.chart similarity index 100% rename from pie.chart rename to examples/pie.chart diff --git a/spline.chart b/examples/spline.chart similarity index 100% rename from spline.chart rename to examples/spline.chart diff --git a/server.go b/server.go index 73c4982..4417486 100644 --- a/server.go +++ b/server.go @@ -1,8 +1,8 @@ -package main +package main import ( -// "errors" -// "fmt" + // "errors" + // "fmt" "net/http" "text/template" ) @@ -42,60 +42,69 @@ var PieDataArray = ` var Index = 1 func handler(w http.ResponseWriter, r *http.Request) { - var ArgsSpline = map[string]string { - "HighChartsJS": HighChartsJS, - "JQuery183MinJS" : JQuery183MinJS, - "ModulesExportingJS" : ModulesExportingJS, - "ChartType" : "spline", - "Title" : "Monthly Average Temperature", - "SubTitle" : "Source: WorldClimate.com", - "YAxisText" : "Temperature (°C)", - "XAxisNumbers" : "['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']", - "ValueSuffix" : "°C", - "DataArray" : SplineDataArray, + var ArgsSpline = map[string]string{ + "HighChartsJS": HighChartsJS, + "JQuery183MinJS": JQuery183MinJS, + "ModulesExportingJS": ModulesExportingJS, + "ChartType": "spline", + "Title": "Monthly Average Temperature", + "SubTitle": "Source: WorldClimate.com", + "YAxisText": "Temperature (°C)", + "XAxisNumbers": "['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']", + "ValueSuffix": "°C", + "DataArray": SplineDataArray, } - - var ArgsPie = map[string]string { - "HighChartsJS": HighChartsJS, - "JQuery183MinJS" : JQuery183MinJS, - "ModulesExportingJS" : ModulesExportingJS, - "ChartType" : "pie", - "Title" : "Browser market shares at a specific website, 2014", - "SubTitle" : "Source: website.com", - "SerieName" : "Browser shares", - "DataArray" : PieDataArray, + + var ArgsColumn = map[string]string{ + "HighChartsJS": HighChartsJS, + "JQuery183MinJS": JQuery183MinJS, + "ModulesExportingJS": ModulesExportingJS, + "ChartType": "column", + "Title": "Monthly Average Temperature", + "SubTitle": "Source: WorldClimate.com", + "YAxisText": "Temperature (°C)", + "XAxisNumbers": "['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']", + "ValueSuffix": "°C", + "DataArray": SplineDataArray, } - - var Args * map[string]string - if t, err := template.New("foo").Parse(PieHtml); err != nil { + + var ArgsPie = map[string]string{ + "HighChartsJS": HighChartsJS, + "JQuery183MinJS": JQuery183MinJS, + "ModulesExportingJS": ModulesExportingJS, + "ChartType": "pie", + "Title": "Browser market shares at a specific website, 2014", + "SubTitle": "Source: website.com", + "SerieName": "Browser shares", + "DataArray": PieDataArray, + } + + var Args *map[string]string + if t, err := template.New("foo").Parse(TemplatePieHtml); err != nil { w.Write([]byte(err.Error())) } else { - if Index % 2 == 0 { - Args = &ArgsSpline - } else { - Args = &ArgsPie - } -Args = &ArgsPie + Args = &ArgsColumn + Args = &ArgsSpline + Args = &ArgsPie if err = t.ExecuteTemplate(w, "T", *Args); err != nil { w.Write([]byte(err.Error())) } } } - func ListenAndServe(addr string) error { http.HandleFunc("/", handler) http.HandleFunc("/favicon.ico", func(w http.ResponseWriter, r *http.Request) {}) -// var err error -// ChartFiles, err = LookupCurrentDir(".") -// if err != nil { -// return err -// } -// -// if len(ChartFiles) == 0 { -// return errors.New("No chart data.") -// } + // var err error + // ChartFiles, err = LookupCurrentDir(".") + // if err != nil { + // return err + // } + // + // if len(ChartFiles) == 0 { + // return errors.New("No chart data.") + // } return http.ListenAndServe(addr, nil) } diff --git a/template_column_html.go b/template_column_html.go new file mode 100644 index 0000000..79cf916 --- /dev/null +++ b/template_column_html.go @@ -0,0 +1,4 @@ +package main + +var TemplateColumnHtml = TemplateSplineHtml + diff --git a/pie_html.go b/template_pie_html.go similarity index 98% rename from pie_html.go rename to template_pie_html.go index 50ba9e5..7e67502 100644 --- a/pie_html.go +++ b/template_pie_html.go @@ -2,7 +2,7 @@ package main // see the resource of : http://www.freecdn.cn/libs/highcharts/ -var PieHtml = `{{define "T"}} +var TemplatePieHtml = `{{define "T"}} diff --git a/spline_html.go b/template_spline_html.go similarity index 98% rename from spline_html.go rename to template_spline_html.go index f35443e..b9ae8d4 100644 --- a/spline_html.go +++ b/template_spline_html.go @@ -2,7 +2,7 @@ package main // see the resource of : http://www.freecdn.cn/libs/highcharts/ -var SplineHtml = `{{define "T"}} +var TemplateSplineHtml = `{{define "T"}}