FOSSPicks
Terminal charts
YouPlot
Considering how much data we process on the command line, it's surprising how few tools there are to help with data visualization. Being composed almost entirely of ASCII characters, the command line has its own limitations when it comes to output, and that can be a challenge. But we can surely do better than throwing a few asterisks across the display. And with YouPlot, you can. YouPlot is a simple command-line tool that's easily installed with Ruby's RubyGems package manager and just as easy to use. First, despite installing a project called "YouPlot," the executable is uplot
, presumably to lessen the typing burden while making a pin. The command can take its input from either the standard input or from a file. While the input format is based on tab-separated values (TSV), it's both flexible and configurable. By default, it will make the table with the first column representing the x-axis and the second column the y-axis. The space character is the default delimiter, but this can be changed to tab or any other character, as can which columns are used for which axis. A single column can also be parsed and used in either the line or bar graphs.
YouPlot currently supports eight different charting methods, including bar plot, histogram, line plot, scatter chart, and a box plot. They all look rather wonderful, and there's something magical about using curl
to grab an online table live, piping its output into cut
to strip extraneous data, and pushing that into uplot
. The output looks fantastic and is genuinely useful for quick and accurate data perusal from the command line. The README file that accompanies the project is equally effective, showing plenty of illustrated examples and even includes charts that are made from live Python output. It's a brilliant little tool, and one that can change your mind about how capable and informative command-line output can be.
Project Website
https://github.com/red-data-tools/YouPlot
Neural synthesis and effects
Buy this article as PDF
(incl. VAT)