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 _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)