I'm trying to plot a data set that contains the results of some benchmarks across a number of tools on a set of input files. The problem is that there are more than 3000 test cases and I need to represent them all in a compact way (no more than a half page).
For this goal I'm trying to reproduce what I think is a sort of scatter plot from Shuppan and Darmawan 2011, "Evaluating LTL Satisfiability Solvers":
On the x
axis there are the input files divided by category, sorted by size, and the y
axis reports the different tools that have been benchmarked. The color reports the time taken by the given tool to solve the given input, darker is slower (and black is timed out). Note that on che x
axis are reported more than 3000 input tests. The names you see are only the categories where these tests are divided. So each single colored bar is a particular input for a particular tool (bars could have been points as well, I suppose they choose bars for readability since they needed vertical space to write the tools names anyway).
I have a tab-separated file which lists a test file for each row, with the benchmark data of each tool as columns. Input files are already divided by category in the rows. In other words, the CSV rows are something like this:
category filename size time_tool_1 time_tool_2 time_tool_3 ... time_tool_N
Rows are already grouped by category and sorted by size inside a single category.
I'm looking at the best way to reproduce this kind of plot in LaTeX. For what I can tell, this is a sort of scatter plot, albeit a strange one.
I've used pgfplots
before but never to do scatter plots. I'm also considering the idea of manually drawing it with tikz
, reading data using pgfplotstable
. I've never used gnuplot
nor R
, so I'd rather stay inside the LaTeX world, but I'm open to suggestions.
So the question is twofold (and a half):
- How would you approach the drawing of a plot like this?
- Which packages and tools are better suited?
- By the way, are there better ways to plot and represent the same data? Consider that, in contrast to the referenced paper, I'm not doing a general survey benchmark of all the tools, but I'm comparing a specific tool against all the others, so maybe there is an even more compact or more readable or easier way to represent the same thing.
3 yellow, 2 orange, 4 black
and5 yellow, 4 black
? And why some columns are larger, i.e. contain more minibars, than the others?groupplots
library (without ticks)ybar
plots doing that. As long as you don't run out of PDF objects on the page it's OK.