The numbers in this table are run times for different graph processing libraries using five different algorithms on six different datasets. We are comparing the performance of our library, Gunrock (in term of run time) with several other libraries for various algorithms on various datasets, and want to show the speedups. The current bar chart grouped the results by algorithm first, then showed the speedups on 6 datasets for each algorithm. If a number is 0, it means the run time for that library is not available. For PageRank (PR), when comparing with BGL, we are using Gunrock-full-PR (meaning we run the full algorithm), while when comparing with all other datasets, we are using the values in Gunrock column (which only run one iteration of PR). The current problem is that the graph looks pretty messy, we want to figure out a clearer way to present our speedup over other libraries. Also, we prefer to use a black-and-white color scheme because the paper might be printed out without color.
Thanks for your help!
How about a Small Multiple Dot Plot?
Here are two views: https://public.tableau.com/profile/joe.mako#!/vizhome/Runtime/View1
If you wanted to enable a different comparison, you could swap the fields around, you could change the sorting to fit your needs, you could filter to just the speedup values, or if you were interested in a threshold other than 1, this approach is adaptable. Another option is to compute and visualize the difference between the normal and speedup, possible as a ratio.
Thanks a lot Joe! I’m the one who requested for the help. First of all, very amazing visualization! I really like how you switch the dimension and use dot to present the only important info: speedup or slowdown. Sorry for the confusion in my description, we actually only want to show the speedup value per {engine, graph, algorithm}. The additional numbers are used to generate the speedup columns. Anyway, we will let you know if we decide to go with your design. Meanwhile we welcome other comments. Also a big thank you for people who work at helpmeviz. This is really helpful!
You might want to try a tiered approach: one graph for the overall summary results and separate graphs for the details (such as one panel per algorithm). That first graph will depend on what you message you think is most important in the data.
Not knowing what that message should be, here’s a try for a single graph showing (almost) all the data. It uses lines instead of bars or dots. Though lines normally suggest continuity, they also carry connection and pattern information even for categorical data. And like dots, then can be overlaid reasonably well. I made the lines stepped to emphasize the discreteness of the x values, but regular connected lines can be used, too.
For the Y axis, I normalized the data by dividing by the minimum time for that graph not counting gunrock, so lower is better. Maybe not too different from speed-up, but it seemed realer for some reason.
One message that’s easy to see here: gunrock is always among the best except hardwired always wins CC.
I didn’t address the full-PR case since I didn’t fully understand it.