Top 7 Scala Libraries For Data Visualisation

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.

Sign up for The Deep Learning Podcast

by Vijayalakshmi Anandan

The Deep Learning Curve is a technology-based podcast hosted by Vijayalakshmi Anandan - Video Presenter and Podcaster at Analytics India Magazine. This podcast is the narrator's journey of curiosity and discovery in the world of technology.

Ambika Choudhury
A Technical Journalist who loves writing about Machine Learning and Artificial Intelligence. A lover of music, writing and learning something out of the box.

Our Upcoming Events

24th Mar, 2023 | Webinar
Women-in-Tech: Are you ready for the Techade

27-28th Apr, 2023 I Bangalore
Data Engineering Summit (DES) 2023

23 Jun, 2023 | Bangalore
MachineCon India 2023 [AI100 Awards]

21 Jul, 2023 | New York
MachineCon USA 2023 [AI100 Awards]

3 Ways to Join our Community

Telegram group

Discover special offers, top stories, upcoming events, and more.

Discord Server

Stay Connected with a larger ecosystem of data science and ML Professionals

Subscribe to our Daily newsletter

Get our daily awesome stories & videos in your inbox

Council Post: The Rise of Generative AI and Living Content

In this era of content, the use of technology, such as AI and data analytics, is becoming increasingly important as it can help content creators personalise their content, improve its quality, and reach their target audience with greater efficacy. AI writing has arrived and is here to stay. Once we overcome the initial need to cling to our conventional methods, we can begin to be more receptive to the tremendous opportunities that these technologies present.