Plotting tool refers to computer software, which helps to represent a data set in a scientific nature. It is an essential tool for academics, scientists, and engineers as well. Besides this, you can use these applications to prepare presentations. Fortunately, like the other platforms, Linux is also enriched with a lot of plotting tools. Most of the applications we listed in this article are open source. Also, you will get them for free. They offer some advanced features through the paid version.
Best Plotting Tools for Linux
Choosing a suitable scientific plotting software may depend on some criteria of your preferences. Today, we are going to show you a comprehensive list of excellent plotting tools for Linux. Hope, you will find some good reasons to pick the best one for your project.
1. Gnuplot
Gnuplot comes with Linux command line protocol that allows engineers, scientists, and students to visualize different types of interactive functions and data. It is an open source plotting tool written in the C programming language. Besides Linux, it also runs on all the major platforms, including Windows, macOS, and Unix. Gnuplot can perform with complex computations using user-defined constants and functions.
Noteworthy Features of Gnuplot
- Can be used from several scripting languages, including Ruby, Python, and Perl.
- Produce output directly on the screen in different formats, including PNG, JPEG, SVG, GIF, EMF, and EPS.
- Generate two and three-dimensional plots and functions.
- Using scripts, Gnuplot can be used interactively and also in batch mode.
- Provides good support and documentation to make the use more comfortable.
Get Gnuplot
2. Mayavi
Mayavi is a modern and free scientific data visualizer to create interactive 3D plots. It provides a rich graphical user interface which uses VTK. The program is written in Python and distributed under the BSD license. You can make publication-quality graphs or plots through Mayavi. Also, it lets you save the rendered visualization in several formats. It can be the right choice as an alternative to Matplotlib or Matlab.
Noteworthy Features of Mayavi
- Can visualize scaler, tensor, and vector data in both 2D and 3D.
- Offers extended functionality by adding sources, components, data filters, and modules.
- Provides Pythonic API which takes the advantages of Traits(used for Python object attributes).
- You can import simple VRML and 3D Studio scenes.
- Supports for PLOT3D data and VTK dataset.
- Offers cross-platform compatibility that runs on GNU/Linux, Mac OS X, and Microsoft Windows.
3. Matplotlib
Matplotlib is a scientific plotting software that can produce publication-quality figures for your research. It is a Python 2D plotting library and designed to be usable as Matlab. You can generate histograms, plots, bar charts, error charts, and more using Matplotlib. With just a few commands, you can create a simple plot and almost any visualization.
Noteworthy Features of Matplotlib
- With an object-oriented interface, Matplotlib provides you the full control of line styles, axes properties, and font properties.
- You can use this Linux command line plotting tool in Python scripts, IPython shells, several toolkits, and other web application servers.
- It provides a Qt interface and allows to exchange data with Microsoft Excel.
- Matplotlib has several higher-level plotting interfaces like seaborn, ggplot, and holoviews.
- It is an entirely open-source platform and free to use.
- Matplotlib is a cross-platform application that runs on both Linux and Windows systems.
4. Ggplot2
Ggplot2 is another data visualization package for Linux. This powerful tool is written in the R programming language. It is one of the most popular plotting tools licensed under GNU GPLv2. Ggplot2 is a tremendous scientific plotting software for declaratively creating graphics which is based on The Grammar of Graphics. Just provide the data to map variables to aesthetics and what graphical primitives to use. It will take care of the further steps itself.
Noteworthy Features of Ggplot2
- You can add, remove, and alter components in a plot, at a high level of abstraction through Ggplot2.
- It is a part of an ecosystem of packages (tidyverse) designed with common APIs and a shared philosophy.
- Whether it changes with any functions or arguments, it doesn’t impact on the behavior of existing functionalities.
- Ggplot2 provides an active mailing list with many users.
- Allows many built-in and also third-party themes for smoothing plot appearance.
- Besides the normal graphs, it also provides complex plotting capacity to the users.
5. Gephi
Gephi is one of the most popular and open source plotting tools to create all kinds of graphs and networks. This tool is written in Java and OpenGL. It is an essential network analysis and visualization application for computer science and biological research projects. Also, you can work with this free software on multiple platforms like Microsoft Windows, Linux, and Mac OS.
Noteworthy Features of Gephi
- Offers a built-in high-performance rendering engine that allows you to use this tool without having any programming skills.
- You can change the layout settings at the time of running this application, which helps to increase user feedback and experience.
- Supports several native file formats, including GML, NET, GDF, GraphML, GEXF, and more.
- The statistics and metrics framework offers different standard metrics like community detection, betweenness centrality, diameter, PageRank, and more.
- Provides a lot of extensible plugins in Gephi Plugin portal with regular updates.
6. PLplot
PLplot is one of the most popular plotting tools for Linux that is used to create scientific plots. It is written in C programming language. This tool is licensed under the LGPL and free to use. You can use this scientific plotting software to create standard x-y plots, semi-log plots, 3D surface plots, bar charts, pie charts, and more.
Noteworthy Features of PLplot
- PLplots allows making scientific plots in various compiled languages like C, C++, D, Fortran, Java, and more.
- Supports multiple platforms without modification, including Linux, Mac OS X, and other Unices.
- You can save the plots in different file formats like CGM, GIF, PBM, PNG, JPEG, PostScript, and more.
- PLplot is a powerful plotting program that supports a number of interactive platforms, including Gtk+, PyQt, Qt, GDI,wxWidgets, and X.
- Contains a core library that supports plot symbols and text specified by the user in the UTF-8 encoding of Unicode.
7. GeoGebra
GeoGebra is an interactive, dynamic, award-winning mathematical software with a lot of powerful features. This open-source program is based on HTML5 technology and written in Java language. It is an essential and easy-to-use tool, especially for students and researchers. GeoGebra is available in all major operating systems, including Windows, Linux, Mac OS, Debian, Ubuntu, Android, and also as a web application.
Noteworthy Features of GeoGebra
- GeoGebra offers scientific graphs and data with points, vectors, lines, segments, polygons, and functions.
- Provides a large number of learning and teaching materials to help its users.
- It has a built-in computer algebra system, statistics, and several calculus tools.
- As it has millions of users worldwide, it supports many different languages.
- Lets you export the materials in several formats, including SVG, PDF, EPS, and PNG.
8. Octave
Octave comes with a high-level programming language focused on numerical computations. This Linux command line plotting tool is written in C, C++, and Fortran. Also, it can be regarded as a batch-oriented language that can solve both linear and nonlinear problems. Octave is an under the GNU General Public License software and anyone is free to use.
Noteworthy Features of Octave
- Octave is a cross-platform plotting tool that runs on GNU/Linux, BSD, macOS, and Microsoft Windows.
- Provides solutions with various algebraic operations, Fourier and Laplace transform, calculus, and more.
- Can Perform various numerical experiments like Matlab.
- Provides a Graphical User Interface and an Integrated Development Environment based on Qt.
- Octave contains a lot of free packages, including bim, cgi, control, data-smoothing, doctest, and more which are located at Octave-Forge.
9. ROOT
ROOT is a popular framework for data processing, analyzing, and performing simulations. It is an object-oriented program and library used by thousands of physicists around the world. ROOT provides a lot of features to its users. This powerful tool is written in the C++ programming language. Also, it is integrated with Python and R. You can get the most current experimental plots in your physics experiments using this scientific plotting software.
Noteworthy Features of ROOT
- ROOT lets you access the saved data from your computer, web, or large-scale file delivery systems.
- Provides powerful mathematical and statistical tools to operate on the data that makes possible to simulate complex systems.
- You can display your results with histograms, scatter plots, fitting functions, and also 3D graphical objects.
- ROOT lets you create and save the publication quality figures in PDF and other formats like PostScript, JPEG, and SVG.
- It lets save your data in a compressed binary form, and you can access it faster than a regular file.
10. Grace
Grace is one of the oldest 2D graph plotting software written in the C programming language. It is based on WYSIWYG design and provides publication-quality graphs. Besides the Windows system, it also runs on any Unix-like platforms, including Linux. It is licensed under GPL, and anyone can use it for free.
Noteworthy Features of Grace
- Grace provides a convenient point-and-click graphical user interface with precise control of graph features.
- You can get an unlimited number of graphs and curves.
- Offers users the graphing flexibility with a lot of customizable colors, dashed line styles, built-in marker symbols, and fill patterns.
- Grace supports user-defined functions via loadable modules, variables, and many mathematical functions.
- Provides customization facility with user-defined colors, user-supplied fonts, and encodings.
- You can export vector graphics to several formats like EPS, MIF, SVG, and PDF.
11. Veusz
Veusz is another Linux command line plotting tool written in Python programming language. If you are curious to create professional-looking plots for scientific journals, it can be the right choice for you. It is open-source and free to use software with a lot of features. It also allows you to extend the program by adding extra plugins.
Noteworthy Features of Veusz
- Veusz has a user-friendly interface with the capability of producing publication-ready 2D and 3D plots.
- It is a cross-platform application that runs on Linux, Windows, FreeBSD, and macOS.
- You can import data from several files, including text, CSV, HDF5, QDP, and FITS.
- Provides you a great advantage in data manipulation and filtering.
- Contains a lot of user-defined functions, constants, and it can also import external Python functions.
- Provides support with various resources and tutorials to introduce to the user interface and the ways to create a simple plot.
12. LabPlot
LabPlot is an open-source scientific plotting software that works on multiple platforms like Linux, Windows, and Mac OS. It has a great number of functions and constants for data generation, analysis, and visualization. LabPlot is written in C and C++. You can create ordinary and cumulative histograms with different binning methods.
Noteworthy Features of LabPlot
- Supports for different open-source computer algebra systems like Maxima and Octave.
- Provides auto and cross-correlation of data sets.
- You will get an arbitrary number of curves in the plot through mathematical equation or data sources.
- Allows for creating 2D and 3D cartesian plots with extensive and interactive editing capabilities.
- LabPlot provides elaborative documentation with detailed examples and tutorials to support users.
13. Ctioga2
Ctioga2 is a Linux command line plotting tool that provides publication-quality and good looking graphs. It is a popular polymorphic plotting platform, written in Ruby. You will get a high control over the operations in working with data files and mathematical functions. Also, it lets you create complex grid layouts using styles.
Noteworthy Features of Ctioga2
- Ctioga2 provides an instant solution in plotting data, compared with other plotting tools.
- Offers a lot of features together like successive curves, color maps, contours, and many more.
- Provides a beautiful user interface with the capability of producing many fancy effects and attractive histograms.
- It lets you integrate into the power of command-line scripting. You can easily animate graphs into a movie.
- You can get output in different formats, including PDF, EPS, SVG, and PNG.
14. KmPlot
KmPlot is yet another Linux command line plotting tool with a powerful built-in parser. This application is written in C++ and has several types of functions. You can create different category plots, including Cartesian, Parametric, Polar, Implicit, and Explicit with the help of KmPlot. It is licensed under the GNU General Public License and also free to use.
Noteworthy Features of KmPlot
- Allows users to plot different functions simultaneously and combine them to build new ones.
- It lets users plot different functions simultaneously and save it in several formats, including BMP, PNG, and Scalable Vector Graphics (SVG).
- It supports user-defined constants and parameter values. Also, you can change the function parameters.
- You can save or load the complete session in readable XML format.
- KmPlot runs on multiple operating systems, including Linux, Mac OS X, and Microsoft Windows.
15. SciDAVis
SciDAVis (Scientific Analysis and Visualization) is an essential tool to generate different types of interactive 2D and 3D plots. This is open-source software and written in C++ and Python. It has a flexible and user-friendly graphical user interface with many powerful features. SciDAVis is a cross-platform application that runs on GNU/Linux, Microsoft Windows, and Mac OS X. also, it provides internationalization support in 10 different languages.
Noteworthy Features of SciDAVis
- SciDAVis ensures a friendly and open environment for both the beginner and expert level users.
- It provides extensive support for fitting linear and nonlinear functions to the data, including multi-peak fitting.
- You will get different types of high-quality 2D plots, including symbols, lines, pie charts, bars, and more.
- SciDAVis lets you enter the data for tables or matrics directly or import from ASCII files.
- Supports many built-in analysis operations like column/row statistics, FFT, FFT-based filters, and (de)convolution.
- The 3D plots can be exported with a variety of formats, including EPS and PDF.
16. GLE
Graphics Layout Engine (GLE) refers to a powerful graphics scripting language to create publication-quality plots. It also lets you design various diagrams, posters, graphs, and more. This scientific plotting software is written in C++ and licensed under the BSD license. It is an essential command line application that can be used to produce graphics for reports and scientific papers.
Noteworthy Features of GLE
- GLE has many flexible and straightforward graphics commands by which you can draw various function plots, histograms, contour plots, color maps, and more.
- It is a full-featured application with variables, subroutines, and logic control.
- This plotting tool also has some advanced graphics commands like clipping, paths, and rotation.
- It supports different output file formats, including JPEG, EPS, PS, PNG, and PDF.
- GLE is a cross-platform software that runs in all the major operating systems, including Linux, Windows, and Mac OS X.
17. RLPlot
Once again, RLPlot one of the essential plotting tools to produce high-quality scientific graphs from data. This open-source program is written in C and C++ programming languages and uses Trolltech’s Qt for Linux. It provides useful information and supports to run this application on your server correctly.
Noteworthy Features of RLPlot
- RLPlot provides an easy-to-use and interactive graphical user interface to its users.
- Runs on several platforms, including Linux, Windows, and Mac OS X.
- Allows copying data from another spreadsheet program to use it in RTPlot.
- You can save the exported files in SVG, EPS, WMF, and several bitmap formats.
- RLPlot uses only ASCII files that can be created or modified by the scripting languages.
18. DataMelt
DataMelt is free and open-source software that helps in numeric computation, statistics, data analysis, data visualization, and more. This plotting tool is written in Java and integrated with Python, Ruby, and many Java packages. You don’t need installation to use it as its a portable application. It can be used in different fields like engineering, natural sciences, and financial market analysis.
Noteworthy Features of DataMelt
- DataMelt lets you visualize of data, functions, histograms in 2D and 3D, and charts.
- You can use it with different programming languages on multiple operating systems like Linux, Mac, Windows, and more.
- Provides high-quality vector graphics images in several formats like SVG, EPS, and PDF which are included in Latex and other text-processing systems.
- You will get the access to Java API of DMelt core library with source code links.
- Contains a comprehensive list of over 10 thousand classes and methods for data analysis and mathematical operations.
19. Genius
Genius is a general-purpose calculator as well as a research and educational plotting tool. It has two different versions named as graphical GNOME version and a command-line version. Genius is an ideal alternative to other popular software like Maple, Matlab, or Mathematica. Most of the standard functions are written in the Genius Extension Language.
Noteworthy Features of Genius
- Genius is a complete programming language with the capability of performing matrix calculations, statistics, calculus, and numerical equations.
- You can export the 2D Function line plots, Parametric, and also the 3D Function surface plots to EPS and PNG.
- It provides a graphical user interface IDE to edit and run or test your programs.
- Genius lets you copy stuff directly from this application to a document in LaTex, MathML, or Troff.
20. DAP
DAP is a simple statistics and graphics program to perform data analysis, management, and graphical visualization. You don’t need any complex syntax to run this application. It is written in the C programming language and offers various flexible C-style features. It allows you to create scatterplots, line graphs, histograms, and more with this program.
Noteworthy Features of DAP
- DAP is GNU General Public Licensed product and also free to use.
- Runs on all the major platforms, including Windows, and Linux.
- You can compute the correlation, means and percentiles, categorical data analysis, and ANOVA from data sets.
- It can build linear models utilizing the linear regressions.
- DAP makes the file process one line at a time. That’s why it can cope with large data sets.
Wrap Up
So, we reached the ending point. We just provided you a comprehensive list of several plotting tools, especially for Linux platform. Hopefully, you will get a proper solution to finding a suitable application for your project.
Which one do you prefer most? Let us know through the comment section below or mail. UbuntuPit always loves to get suggestions and thoughts from the audience. Do you think this blog as a helpful one? If yes, then don’t forget to share with your community to let them know about this topic. Till then, have a good time!
I would have two questions about these packages:
1. Speed? When plotting output of circuit simulators, the files are between 10MB (normal) and 42GB (exceptional). There can be a few 100 traces per file, and the user is constantly zooming into and out of smallish areas.
2. Do they support LaTeX rendering of the on screen text?
GnuPlot has 2, but is slow because it does (did?) not support binary files. Because of the extreme zooming, smart downsampling of the plot data is needed (never plot or read points that are not on screen).
Just to note, Veusz is primarily used through a GUI, and not through a command line. The command line is an alternative way to use it.
I have used VEUSZ and quite satisfied with it.