I will share a very quick and straight-forward solution to generate parallel plots in python of multiple groups of data. The idea is transitioning from the parallel axis plot tool to a method that enables the plots to be exported as a vectorized image. You can also take a look at Matt’s python parallel.py code available in github: https://github.com/matthewjwoodruff/parallel.py .
This is the type of figure that you will get:
The previous figure was generated with the following lines of code:
import numpy as np import pandas as pd from pandas.tools.plotting import parallel_coordinates import matplotlib.pyplot as plt import seaborn data = pd.read_csv('sample_data.csv') parallel_coordinates(data,'Name', color= ['#225ea8','#7fcdbb','#1d91c0'], linewidth=5, alpha=.8) plt.ylabel('Direction of Preference $\\rightarrow$', fontsize=12) plt.savefig('parallel_plot.svg')
Lines 1-4 are the required libraries. I just threw in the seaborn library to give it the gray background but it is not necessary. In the parallel_coordinates function, you need to specify the data, ‘Name’ and the color of the different groups. You can substitute the color variable for colormap and specify the colormap that you wish to use (e.g. colormap=’YlGnBu’). I also specified an alpha for transparency to see overlapping lines. If you want to learn more, you can take a look at the parallel_coordinates source code. I found this stack overflow link very useful, it shows some examples on editing the source code to enable other capabilities.
Finally, the following snippet shows the format of the input data (the sample_data.csv file that is read in line 7 ) :
Columns A-G the different categories to be plotted are specified (e.g. the objectives of a problem) and in Column H the names of the different data groups are specified. And there you have it, I hope you find this plotting alternative useful.