Scala is a popular language that runs on Java Virtual Machine (JVM). It is a pure object-oriented language designed to express common programming patterns in a concise, elegant, and type-safe way. Also, Scala provides a number of libraries and tools that can be used for several data science-related tasks.
Here, we have put together the top 7 data visualisation libraries in Scala language.
(The list is in no particular order)
AIM Daily XO
Join our editors every weekday evening as they steer you through the most significant news of the day, introduce you to fresh perspectives, and provide unexpected moments of joy
Your newsletter subscriptions are subject to AIM Privacy Policy and Terms and Conditions.
1| Breeze-viz
About: Breeze-viz is a popular library for data visualisation in Scala. The library is based on JFreeChart and provides a Matlab-like way to create figures and plots. Breeze-viz is part of the git open source project scalanlp/breeze and it works hand and in hand with the breeze library. The latest release of this library is 0.5.1
Know more here.
Download our Mobile App
2| Vegas
About: Vegas is another popular data visualisation library in Scala, described as the missing MatPlotlib for Scala and Spark. The library basically wraps around Vega-Lite, which is a high-level grammar of interactive graphics. It provides a concise, declarative JSON syntax to create an expressive range of visualisations for data analysis and presentation. Vegas provides several options for rendering plots. The developers primarily use Vegas within interactive notebook environments, such as Jupyter and Zeppelin.
Know more here.
3| SPlot
About: SPlot is Scala library for data visualisation. The goal of this library is to provide a simple API in Scala for data visualisation similar to ggplot and Seaborn as well as support exploratory data analysis (EDA). SPlot provides two APIs for displaying plots. The first API enriches Scala collections that provides additional methods for plotting charts and the second API provides possibility to independently provide x and y values.
Know more here.
4| Doodle
About: Doodle is a data visualisation library in Scala for 2D graphics, animation, data visualisation as well as creative coding. It runs in both the JVM, rendering via Java2D, and the web browser using SVG. The main packages of Doodle are: core, which provides common utilities such as colors, points, and parametric curves; image; effect; syntax; animation and interaction; and interactive exploration.
In order to use this library, add the following to your build.sbt
libraryDependencies += “org.creativescala” %% “doodle” % “0.9.20”
Know more here.
5| New Scala Plotting Library (NSPL)
About: New Scala Plotting Library is a 2D plotting library in Scala, and runs on the JVM or in the browser with minimal dependencies. This library renders the same plots for vector (pdf, svg, eps) and raster formats (png, jpg), java Graphics2D or Html5 Canvas. NSPL can be used to create scatter, line, contour, raster, barplots and boxplots, histograms, and density plots. The library has the ability to use streams of data without keeping them in memory, and thus can create plots from huge files to raster output.
Know more here.
6| Plotly Scala Library
About: Plotly Scala Library is a graphing library that makes interactive, publication-quality graphs online. The library can create interactive line plots, scatter plots, subplots, multiple-axes charts, among others. This Scala library can output JSON that can be passed to plotly.js and can cover a wide range of the plotly.js features.
Know more here.
7| EvilPlot
About: EvilPlot is a combinator-based data visualization library written in Scala. The main objective of this library is to enable composed, principled, and infinitely customisable data visualisation without the need to cross from Scala into other languages like R or Python. The library offers a handful of ways to create simple plots, along with several combinators for making more complicated plots out of simpler ones.
Know more here.