def plot(cls_num): os.chdir(os.path.join(wltpdb.mydir, wltpdb.samples_dir)) cls_name = class_name_from_num(cls_num) data = data_meanN_gears(cls_num) cols = data.keys() assert len(cols) == 4, cols parts = zip(model.get_class_part_names(), [ dict(data_fmt='1', data_kws=dict(color='#0000ff', markersize=4.8, ), diff_kws=dict(linestyle=':', linewidth=4) ), dict(data_fmt='_', data_kws=dict(color='#0033cc', markersize=4.8, fillstyle='none'), diff_kws=dict(linestyle='-.',linewidth=4) ), dict(data_fmt='o', data_kws=dict(color='#006699', markersize=4.8, fillstyle='none'), diff_kws=dict(linestyle='-',linewidth=4) ), dict(data_fmt='+', data_kws=dict(color='#009966', markersize=4.8, fillstyle='none'), diff_kws=dict(linestyle='--', linewidth=4) ), ]) axes_tuple = None for (part, kws) in parts: try: ## veh part N/gear/Py/Heinz X = data.loc[(slice(None), part), cols[0]] Y = data.loc[(slice(None), part), cols[1]] X_REF = data.loc[(slice(None), part), cols[2]] Y_REF = data.loc[(slice(None), part), cols[3]] except KeyError: continue axes_tuple, artist_tuple = plots.plot_xy_diffs_arrows( X, Y, X_REF, Y_REF, data_label='Python, %s'%part, diff_label='Diffs %s'%part, diff_cmap=cm.cool, #@UndefinedVariable title="%s: Python(arrow-heads) compared to AccessDb-2secAccel (arrow-tails)" % cls_name, x_label=r'Mean Gear', y_label='$Mean EngineSpeed [rpm]$', axes_tuple=axes_tuple, **kws ) axes_tuple[0].legend(loc=1, fancybox=True, framealpha=0.5) axes_tuple[1].legend(loc=2, fancybox=True, framealpha=0.5) return data, axes_tuple
# Licensed under the EUPL (the 'Licence'); # You may not use this work except in compliance with the Licence. # You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl import os import sys from wltp import (plots, model) from wltp.test import wltp_db_tests as wltpdb from matplotlib import pyplot as plt, cm import pandas as pd classes = ['class1', 'class2', 'class3b'] part_names = model.get_class_part_names() def class_name_from_num(cls_num): return classes[cls_num-1] def data_meanN_gears(cls_num): """ Constructs meanN vs gears, hierarchically grouped by: vehicle, python/heinz, class_part :return: df like that:: python heinz gear n gear n 1154 Low 2.020374 1078.312480 2.039049 1105.891341 Medium 3.577367 1364.552656 3.618938 1353.300231 High 4.028571 1694.902241 4.160440 1618.457143 ExtraHigh 4.266254 2532.802858 4.424149 2514.894737