def _stacked_bars_graph(env, key, x_axis, query=None, title=None): ticket_stats, keys = _get_stacked_bar_chart_stats(env, key, x_axis, query) plot = Bar_Stack() # Add the keys to the plot key_colours = {} for i, key_value in enumerate(keys): key_colours[key_value] = COLOURS[i] if key: plot.append_keys(COLOURS[i], key_value, 13) for x_axis_value, tickets_per_key in ticket_stats.iteritems(): stack = [] for i, (key_value, number_of_tickets) in enumerate(tickets_per_key.iteritems()): stack.append( bar_stack_value(number_of_tickets, key_colours[key_value], _get_stacked_bar_tooltip(key, key_value)) ) plot.append_stack(stack) chart_div_id = _create_chart_div_id() on_click_function_name = "on_click_%s" % (chart_div_id,) plot["on-click"] = on_click_function_name plot["on-click-text"] = "#key#" if title is None: key_string = "" if key: key_string = " and %s" % (key,) title = "Tickets by %s%s" % (x_axis, key_string) chart = _create_chart(title, plot) if ticket_stats.keys(): chart.set_x_axis(labels=x_axis_labels(labels=ticket_stats.keys(), size=13)) chart.set_y_axis(min=0, max=_get_stacked_bar_max_y_value(ticket_stats)) return ( chart, chart_div_id, _create_stacked_bar_on_click_html(env, key, x_axis, ticket_stats, query, on_click_function_name), )
def _stacked_bars_graph(env, key, x_axis, query=None, title=None): ticket_stats, keys = _get_stacked_bar_chart_stats(env, key, x_axis, query) plot = Bar_Stack() # Add the keys to the plot key_colours = {} for i, key_value in enumerate(keys): key_colours[key_value] = COLOURS[i] if key: plot.append_keys(COLOURS[i], key_value, 13) for x_axis_value, tickets_per_key in ticket_stats.iteritems(): stack = [] for i, (key_value, number_of_tickets) in enumerate(tickets_per_key.iteritems()): stack.append( bar_stack_value(number_of_tickets, key_colours[key_value], _get_stacked_bar_tooltip(key, key_value))) plot.append_stack(stack) chart_div_id = _create_chart_div_id() on_click_function_name = 'on_click_%s' % (chart_div_id, ) plot['on-click'] = on_click_function_name plot['on-click-text'] = '#key#' if title is None: key_string = '' if key: key_string = ' and %s' % (key, ) title = 'Tickets by %s%s' % (x_axis, key_string) chart = _create_chart(title, plot) if ticket_stats.keys(): chart.set_x_axis( labels=x_axis_labels(labels=ticket_stats.keys(), size=13)) chart.set_y_axis(min=0, max=_get_stacked_bar_max_y_value(ticket_stats)) return chart, chart_div_id, \ _create_stacked_bar_on_click_html(env, key, x_axis, ticket_stats, query, on_click_function_name)
def ilp_filtered_bar_stack_0(self): event_codes = {'GPU_Arrival': '#FF6600', 'Handler_Deposites_Chocks': '#50284A', 'Aircraft_Arrival': '#339900', 'Jet_Bridge_Positioning': '#6699CC', #'Container_Front_Unloading':'#660000', #'Container_Front_Loading': '#CC3333', 'Push_Back_Positioning': '#FFF000', #'Container_Back_Loading': '#FF3333', 'Jet_Bridge_Parking': '#0066CC', 'Aircraft_Departure': '#99FF33', 'VRAC_Back_Unloading': '#FF99FF', #'Refuelling': '#FF6600', 'VRAC_Back_Loading': '#9933FF', 'No_Event': '#FFFFFF' } plot = Bar_Stack(colours = ['#C4D318', '#50284A', '#7D7B6A','#ff0000','#ff00ff']) for eve in event_codes: plot.append_keys(event_codes[eve], eve, 13) vid = 0 # Get ground truth gt_file = '/usr/not-backed-up/cofriend/data/progol/clean_qtc/global_model_ILP/' + 'ground_truth.p'; gt = pickle.load(open(gt_file)) gt_event_lists = gt['event_lists'] # Only add first video ground truth videos = [gt_event_lists[vid]] # Now the retrieved events ilp_file = '/usr/not-backed-up/cofriend/data/progol/clean_qtc/new_gt_with_zone_1protos_oct/' + 'retrieved_ins_ILP_vis_filtered_events_0.p'; re = pickle.load(open(ilp_file)) re_event_ins_lists = re['event_lists'] ind = 0 for e in re_event_ins_lists: videos.append(e) ind += 1 if ind > 7: break ind = 0 for e in videos: e.sort() # val for each strip in a stack is just the length of the strip. # So just keep on laying strips in the stack with length equal to length of interval # First start with empty event stack = [] val = e[0][0] colour = event_codes['No_Event'] tooltip = '(%d, %d)' %(0, e[0][0]) stack.append(bar_stack_value(val, colour, tooltip)) for i in range(len(e)): val = e[i][1] - e[i][0] colour = event_codes.get(e[i][2],'#FFFFFF') tooltip = '%s <br> Intv: (%d, %d)' %(e[i][2], e[i][0], e[i][1]) stack.append(bar_stack_value(val, colour, tooltip)) if i != len(e) - 1: # Add empty event after every event val = e[i+1][0] - e[i][1] colour = event_codes['No_Event'] tooltip = '(%d, %d)' %(e[i][1], e[i+1][0]) stack.append(bar_stack_value(val, colour, tooltip)) ind += 1 plot.append_stack(stack) chart = openFlashChart.template("ILP Video One", style = '{font-size: 20px; color: #F24062; text-align: center;}') chart.set_tooltip(behaviour = 'hover') chart.set_bg_colour('#FFFFFF') # Prepare x_lables xlabels = [] for i in xrange(len(videos)): if i == 0: xlabels.append('GT') else: xlabels.append('ins_' + repr(i)) chart.set_x_axis(labels = x_axis_labels(labels = xlabels)) chart.set_y_axis(min = 0, max = 35000, steps = 500) chart.add_element(plot) return chart.encode()
def my_bar_stack(self): event_codes = {'GPU_Arrival': '#FF6600', 'Handler_Deposites_Chocks': '#50284A', 'Aircraft_Arrival': '#339900', 'Jet_Bridge_Positioning': '#6699CC', 'Container_Front_Unloading':'#660000', 'Container_Front_Loading': '#CC3333', 'Push_Back_Positioning': '#FFF000', 'Container_Back_Loading': '#FF3333', 'Jet_Bridge_Parking': '#0066CC', 'Aircraft_Departure': '#99FF33', 'VRAC_Back_Unloading': '#FF99FF', 'Refuelling': '#FF6600', 'VRAC_Back_Loading': '#9933FF', 'No_Event': '#CCCCCC' } gt_file = '/usr/not-backed-up/cofriend/data/progol/clean_qtc/global_model/' + 'ground_truth.p'; gt = pickle.load(open(gt_file)) gt_event_lists = gt['event_lists'] plot = Bar_Stack(colours = ['#C4D318', '#50284A', '#7D7B6A','#ff0000','#ff00ff']) for eve in event_codes: plot.append_keys(event_codes[eve], eve, 13) videos = gt_event_lists for e in videos: # val for each strip in a stack is just the length of the strip. # So just keep on laying strips in the stack with length equal to length of interval # First start with empty event stack = [] val = e[0][0] colour = event_codes['No_Event'] tooltip = '(%d, %d)' %(0, e[0][0]) stack.append(bar_stack_value(val, colour, tooltip)) for i in range(len(e)): val = e[i][1] - e[i][0] colour = event_codes[e[i][2]] tooltip = '%s <br> Intv: (%d, %d)' %(e[i][2], e[i][0], e[i][1]) stack.append(bar_stack_value(val, colour, tooltip)) if i != len(e) - 1: # Add empty event after every event val = e[i+1][0] - e[i][1] colour = event_codes['No_Event'] tooltip = '(%d, %d)' %(e[i][1], e[i+1][0]) stack.append(bar_stack_value(val, colour, tooltip)) plot.append_stack(stack) chart = openFlashChart.template("Ground Truth", style = '{font-size: 20px; color: #F24062; text-align: center;}') chart.set_tooltip(behaviour = 'hover') chart.set_bg_colour('#FFFFFF') # Prepare x_lables xlabels = [] for i in xrange(len(videos)): xlabels.append('vid_' + repr(i)) chart.set_x_axis(labels = x_axis_labels(labels = xlabels)) chart.set_y_axis(min = 0, max = 35000, steps = 500) chart.add_element(plot) return chart.encode()
def bar_stack(self): plot = Bar_Stack(colours=['#C4D318', '#50284A', '#7D7B6A']) plot.set_tooltip( 'X label [#x_label#], Value [#val#]<br>Total [#total#]') plot.append_keys('#C4D318', 'job1', 13) plot.append_keys('#50284A', 'job2', 13) plot.append_keys('#7D7B6A', 'job3', 13) plot.append_keys('#ff0000', 'job4', 13) plot.append_keys('#ff00ff', 'job5', 13) plot.append_stack([2.5, 5, 2.5]) plot.append_stack([2.5, 5, 1.25, 1.25]) plot.append_stack([5, bar_stack_value(5, '#ff0000')]) plot.append_stack([2, 2, 2, 2, bar_stack_value(2, '#ff00ff')]) chart = openFlashChart.template( "Bar_Stack chart", style='{font-size: 20px; color: #F24062; text-align: center;}') chart.set_tooltip(behaviour='hover') chart.set_x_axis(labels=x_axis_labels( labels=['Winter', 'Spring', 'Summer', 'Autumn'])) chart.set_y_axis(min=0, max=14, steps=2) chart.add_element(plot) return chart.encode()
def bar_stack(self): plot = Bar_Stack(colours = ['#C4D318', '#50284A', '#7D7B6A']) plot.set_tooltip('X label [#x_label#], Value [#val#]<br>Total [#total#]') plot.append_keys('#C4D318', 'job1', 13) plot.append_keys('#50284A', 'job2', 13) plot.append_keys('#7D7B6A', 'job3', 13) plot.append_keys('#ff0000', 'job4', 13) plot.append_keys('#ff00ff', 'job5', 13) plot.append_stack([2.5, 5, 2.5]) plot.append_stack([2.5, 5, 1.25, 1.25]) plot.append_stack([5, bar_stack_value(5, '#ff0000')]) plot.append_stack([2, 2, 2, 2, bar_stack_value(2, '#ff00ff')]) chart = openFlashChart.template("Bar_Stack chart", style = '{font-size: 20px; color: #F24062; text-align: center;}') chart.set_tooltip(behaviour = 'hover') chart.set_x_axis(labels = x_axis_labels(labels = ['Winter', 'Spring', 'Summer', 'Autumn'])) chart.set_y_axis(min = 0, max = 14, steps = 2) chart.add_element(plot) return chart.encode()