Go is a highly popular open-source programming language among developers, largely due to its impressive line up of features including automatic memory management and garbage collection. The language is most suited for building infrastructures like networked servers as well as tools for developers.
Below, we have listed the top six data visualisation libraries in the Go language.
1. DataViz
About: DataViz is a data structure visualisation library for Go language. Inspired by the ideas of tools like memviz and GoDS, the DataViz library allows developers to work with standard data structures while also giving them the tools for building their own data structures as well as visualisation options. The library helps in building and understanding the standard data structures with added visualisations developed by Graphviz. The library supports various types of standard heap operations like pop, clear, size, empty, top, push, including other features like inverse comparator functions.
To install DataViz, run the following:
go get github.com/Arafatk/Dataviz
Know more here.
2. Glot
About: Glot is a popular plotting library for Go language built on top of gnuplot. Currently, the library supports many styles like lines, points, linepoints, impulses, dots, bar, steps, histogram, circle, errorbars, boxerrorbars, etc. The package also supports all of 1,2 and 3 dimensional curves. The idea behind Glot is to make its functionalities similar to the popular matplotlib library that runs using the Go language.
To install glot, run the following:
go get github.com/Arafatk/glot
Know more here.
3. Go chart
About: Go chart is a charting library in the native Go language. The library supports timeseries and continuous line charts. According to its developer, the goal with the API is to have the “zero value be useful”, and thus the user need not code more than what’s absolutely needed.
To install chart, run the following:
go get -u github.com/wcharczuk/go-chart
Know more here.
4. Go-echarts
About: Go-echarts is a charting and visualisation library for Go language. It aims to provide a simple yet powerful data visualisation library for Golang. The features of this library include:
- Clean and comprehensive API
- Visualisation of data in more than 25 different ways
- Highly configurable chart options
- Detailed documentation and a rich collection of examples
- Visualisation of the geographical data with more than 400 maps.
To install this library, run the following:
go get -u github.com/go-echarts/go-echarts/…
cd $go-echarts-project
mkdir v2 && mv charts components datasets opts render templates types v2
Know more here.
5. Go-callvis
About: Go-callvis is a development tool that helps in visualising the call graph of a Go program using interactive view. The tool provides developers with a visual overview of a Go program using data from call graph and its relations with packages and types. It runs pointer analysis to construct the call graph of the program and uses the data to generate output in dot format, which can be rendered with Graphviz tools. The tool is especially useful in larger projects where the complexity of the code is much higher or when you are simply trying to understand code. Some of the features of this tool are:
- Focus specific package in the program
- Support for Go modules
- Filter packages to specific import path prefixes
- Ignore functions from the standard library, etc.
To install go-callvis, run the following:
go get -u github.com/ofabry/go-callvis
(or)
git clone https://github.com/ofabry/go-callvis.git
cd go-callvis && make install
Know more here.
6. SVGo
About: SVGo is a library in Go language for Scalable Vector Graphics (SVG) generation. The library generates SVG as defined by the Scalable Vector Graphics 1.1 specification. SVG is a language for describing two-dimensional graphics in XML. It allows for three types of graphic objects: vector graphic shapes (e.g., paths consisting of straight lines and curves), images and text. Also, combined with the svgplay command, SVGo can be used to “sketch” with code in a browser.
To install SVGo, run the following:
go get github.com/ajstarks/svgo
go install github.com/ajstarks/svgo/…
Know more here.