def diff_bar_dict(target_dict, key_a, key_ref): print "plot_diff_bar_dict(target_dict, key_a, key_ref, target_file) is called" diff_dict = {} min_temp = 0 max_temp = 0 if key_a != '': for probe in target_dict.keys(): if (probe == key_a) and (probe != key_ref): list_a, list_base = get_lists_from_dict(target_dict, probe, key_ref) diff_dict[probe] = paa.diff_of_list_calculator(list_a, list_base) if min(diff_dict[probe]) < min_temp: min_temp = min(diff_dict[probe]) if max(diff_dict[probe]) > max_temp: max_temp = max(diff_dict[probe]) else: for probe in target_dict.keys(): if probe != key_ref: list_a, list_base = get_lists_from_dict(target_dict, probe, key_ref) diff_dict[probe] = paa.diff_of_list_calculator(list_a, list_base) if min(diff_dict[probe]) < min_temp: min_temp = min(diff_dict[probe]) if max(diff_dict[probe]) > max_temp: max_temp = max(diff_dict[probe]) return diff_dict, min_temp, max_temp
def plot_diff_bar_lists(list_a, list_base, target_file): list_diff = paa.diff_of_list_calculator(list_a, list_base) pd.DataFrame(list_diff).plot(kind='bar') plt.axhline(0, color='k') y_axis, geo_temp, x_axis_ticks, x_axis_name = demarcate_regions(target_file) plt.xlabel(r"\textrm{destinations}", font) plt.ylabel(r"\textrm{relative RTT (ms)}", font) plt.xticks(x_axis_ticks, x_axis_name, fontsize=30, fontname="Times New Roman", rotation='horizontal') # 可加此变量,让横坐标的 name 竖直显示: rotation='vertical' plt.yticks(fontsize=30, fontname="Times New Roman") plt.legend(loc='best', fontsize=30) plt.xlim(-0.5, geo_temp-0.5) # 用 plot 的 plt.xlim plt.ylim(min(list_diff)-10.0, max(list_diff)+10.0) plt.savefig(os.path.join(FIGURE_PATH_NAME, '{0}_relative_rtt_{1}_{2}_geo.eps'.format(EXPERIMENT_NAME, RELATIVE_KEY_A, RELATIVE_KEY_REF)), dpi=300, transparent=True) plt.show()