Exemplo n.º 1
0
    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()
Exemplo n.º 2
0
	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()
Exemplo n.º 3
0
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),
    )
Exemplo n.º 4
0
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()
Exemplo n.º 6
0
    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()