gonum
plot
Our great sponsors
gonum | plot | |
---|---|---|
24 | 38 | |
7,249 | 3,844 | |
1.4% | 2.8% | |
8.2 | 9.1 | |
5 days ago | 7 days ago | |
Go | HTML | |
BSD 3-clause "New" or "Revised" License | ISC License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gonum
-
How to set up interface to accept multi-dimension array?
But if you want to see what can be done for numeric stuff, check out gonum. Personally, I still wouldn't use Go, and I rather suspect it's still pretty easy to reach for something like what you're trying to do and not find it because Go just can't write that type sensibly, but you can at least see what is available, written by people who disagree with me about Go not being a great language for this.
-
packages similar to Pandas
Numpy functionality is largely covered by https://www.gonum.org/ but for pandas I'm not sure if there is an equivalent as widely accepted. However, you might try https://github.com/rocketlaunchr/dataframe-go which I have not tried but it looks like it covers some of what you're looking for
-
What libraries are missing?
Math libraries. It's just gonum right now. Missing things that often require people to link C or Python libs. E.g. https://github.com/gonum/gonum/issues/354
- Gonum Numerical Packages
-
SIMD Accelerated vector math
Maybe this way you could avoid having Mul, Mul_Inplace, Mul_Into variants. Gonum mostly follows the same pattern.
- Modern hardware is fast, so let's choose the slowest language to balance it out
-
graph: A generic Go library for creating graph data structures and performing operations on them. It supports different kinds of graphs such as directed graphs, acyclic graphs, or trees.
How does this compare to gonum graph? https://github.com/gonum/gonum/tree/master/graph
-
From Python to NumPy
Go is quite a bit cleaner than Python and its concurrency/parallelism primitives can be well suited to scientific workloads.
You may want to have a look at Gonum (https://www.gonum.org), and the Go HEP package developed by CERN (https://go-hep.org).
I was also surprised to see DSP and pretty sophisticated packages, although I never used them: https://awesome-go.com/science-and-data-analysis
And of course Go has Jupyter integration, it's almost like running a script thanks to its fast compilation time.
-
Go for science?
You should check out this https://github.com/gonum/gonum
-
What makes concurrency in Go better than multiprocesing/multithreading in Python?
No, using CPU extensions and GPUs is a different thing than doing multitasking. There is Gonum but it is still slower than Numpy: https://github.com/gonum/gonum/issues/511
plot
-
Vega-Altair: Declarative Visualization in Python
I love Vega(-lite) / Altair, the grammar of graphics plotting system is really great to build any kind of chart even when it wasn't thought through by the authors of the library. There are other wrappers for languages that lack viz libraries, such as Elixir / Livebook [0]
However, when I used it a couples years back it struggled with large vizs, I think due to Vega(-lite)'s way of embedding the data in the viz artifact.
Also, interactive is nice but often I just need a quick static plot, and matplotlib is more convenient for this, you can easily see the png in any environment etc.
These days I'm eager to see an Observable Plot [1] wrapper for Python !
[0] https://github.com/livebook-dev/vega_lite
[1] https://github.com/observablehq/plot
-
Observable 2.0, a static site generator for data apps
Good questions.
1. It’s just JavaScript so you can fetch stuff dynamically too (see https://observablehq.com/framework/lib/duckdb). But yeah, only client-side. (Though see https://github.com/observablehq/framework/issues/234.)
2. Sure, it’s all open source, I bet you could make that work. Or `yarn deploy` to Observable and configure sharing there (though it wouldn’t let you charge others).
3. Yup. Which is part of the appeal of model of running data loaders at build time: you can query some private data and viewers would only be able to see the final result set. (The lack of something like this has always been a huge problem for Observable notebooks. You’d make some great query-driven charts and then couldn’t make it public without some awkward manual dance of downloading and re-uploading a file to a fork of the notebook.)
4. I wish I knew! It’s being tracked here https://github.com/observablehq/plot/issues/1711. Lately there’s been a lot more work on Framework naturally but now that that’s out…
5. Another good question. We’re definitely interested in tailoring it more to this sort of use case but lots is TBD!
-
Using Deno with Jupyter Notebook to build a data dashboard
Observable Plot: A library built on top of D3.js used to visualize data and iterate more quickly on different plot chart
-
What website frameworks are used to build these websites?
https://observablehq.com/
-
Yandex open sourced it's BI tool DataLens
Observable Plot [0] is also nice. AFAIU it's the same library powering the visualizations within Observable itself.
[0] https://observablehq.com/plot/
-
Best React charting libraries for data visualizations
I liked observablehq plot library: https://github.com/observablehq/plot
- Bank Failures Visualized
- Observable Plot: A JavaScript library for exploratory data visualization
- Observable Plot: The JavaScript library for exploratory data visualization
What are some alternatives?
dataframe-go - DataFrames for Go: For statistics, machine-learning, and data manipulation/exploration
plot-react - React wrapper for @observablehq/plot
gosl - Linear algebra, eigenvalues, FFT, Bessel, elliptic, orthogonal polys, geometry, NURBS, numerical quadrature, 3D transfinite interpolation, random numbers, Mersenne twister, probability distributions, optimisation, differential equations.
blazor-samples - Explore and learn Syncfusion Blazor components using large collection of demos, example applications and tutorial samples
Stats - A well tested and comprehensive Golang statistics library package with no dependencies.
echarts - Apache ECharts is a powerful, interactive charting and data visualization library for browser
gonum/plot - A repository for plotting and visualizing data
go-echarts - 🎨 The adorable charts library for Golang
PiHex - PiHex Library, written in Go, generates a hexadecimal number sequence in the number Pi in the range from 0 to 10,000,000.
d3 - Bring data to life with SVG, Canvas and HTML. :bar_chart::chart_with_upwards_trend::tada:
goraph - Package goraph implements graph data structure and algorithms.
cli-d3 - Generate d3 plots from the command-line.