Solved – Automating plotting CSV files quickly and with some level of artistic control

data visualizationscatterplot

Suppose my CSV file has time and various columns of data vs time.

I want to be able to automate plotting. To a file at least; multiple formats or to the screen as well is a plus.

There will be lots of plots. Multiple plots on same axes, e.g. like a spreadsheet scatterplot with multiple columns. Changing the plot commands should be possible for a non-specialist. It should be possible to have some artistic control, like colors, points, lines, or both, maybe symbol.

Here's what I have considered:

spreadsheets like OpenOffice or Excel: can't automate easily. Good on looks, artistic control, and selecting columns from CSV to plot. Bad on automation, and time to plot.

R: Easy to read multi-column csv into dataframe, but not so easy to generate required plots. Easy for single time series but haven't seen any simple examples for plotting multiple columns of data onto the same X and Y axes as a spreadsheet scatterplot will do.

Gnuplot: May require reformatting data. Not so intuitive for reading multi-column CSV for scatterplot.

Any others I should be considering?

Best Answer

Python with MatplotLib. Python is pretty good at manipulating csv files.

but haven't seen any simple examples for plotting multiple columns of data onto the same X and Y axes as a spreadsheet scatterplot will do.

Have you explored ggplot2? You can keep adding series to a plot using ggplot2. It also has a very good facet plotting feature.