From 5edbfa6a637aaf969d4963a67bc8c8541a72e21d Mon Sep 17 00:00:00 2001 From: rocketlaunchr-cto Date: Sun, 12 Apr 2020 13:50:24 +1000 Subject: [PATCH] - add plot compatibility with go-chart pkg --- README.md | 26 ++++++++ helpers.go | 15 +++++ plot.png | Bin 0 -> 47759 bytes plot/plot.go | 2 + plot/wcharczuk/go-chart/chart.go | 107 +++++++++++++++++++++++++++++++ 5 files changed, 150 insertions(+) create mode 100644 plot.png create mode 100644 plot/wcharczuk/go-chart/chart.go diff --git a/README.md b/README.md index 0a8696c..173fd06 100644 --- a/README.md +++ b/README.md @@ -191,6 +191,32 @@ median, _ := stats.Median(sf.Values) std := stat.StdDev(sf.Values, nil) ``` +## Plotting (only Windows, macOS and Linux) + +```go +import ( + "github.com/rocketlaunchr/dataframe-go/plot" + c "github.com/rocketlaunchr/dataframe-go/plot/wcharczuk/go-chart" +) + +sales := dataframe.NewSeriesFloat64("sales", nil, 50.3, nil, 23.4, 56.2, 89, 32, 84.2, 72, 89) +cs, _ := c.S(ctx, sales, nil) + +graph := chart.Chart{Series: []chart.Series{cs}} + +plt, _ := plot.Open("Monthly sales", 450, 300) +graph.Render(chart.SVG, plt) +plt.Display(plot.SVG) +<-plt.Closed + +``` + +Output: + +

+plot +

+ ## Importing Data The `imports` sub-package has support for importing csv, jsonl and directly from a SQL database. The `DictateDataType` option can be set to specify the true underlying data type. Alternatively, `InferDataTypes` option can be set. diff --git a/helpers.go b/helpers.go index 75fd554..d36a80a 100644 --- a/helpers.go +++ b/helpers.go @@ -26,6 +26,21 @@ func B(b bool) int { return 0 } +// IsValidFloat64 returns true if f is neither Nan nor ±Inf. +// Otherwise it returns false. +func IsValidFloat64(f float64) bool { + + if isNaN(f) { + return false + } + + if isInf(f, 0) { + return false + } + + return true +} + // BoolValueFormatter is used by SetValueToStringFormatter // to display an int as a bool. If the encountered value // is not a 0 or 1, it will panic. diff --git a/plot.png b/plot.png new file mode 100644 index 0000000000000000000000000000000000000000..8e9e5bd8b6bd2a94e06584eac5eaf6c82057ba48 GIT binary patch literal 47759 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