예제 #1
0
파일: googlecharts.py 프로젝트: peterbe/kl
def _get_definitionlookups_bar(datas, width, height,
                               background_color=None, colour=None):
    max_ = max(max(v[1]) for v in datas)
    chart = StackedHorizontalBarChart(width, height, x_range=(0, max_ + int(.1*max_)))
        
    chart.add_data([x[1][0] for x in datas])
    chart.add_data([x[1][1] for x in datas])


    # 222
    labels = [x[0].encode('utf8') for x in datas][::-1] # 223
    import urllib
    #print [urllib.quote(str(a)) for a in labels]
    
    #print list(labels)
    chart.set_axis_labels(pygooglechart.Axis.LEFT, labels)
    chart.set_legend(['Looked up','Not looked up'])
    chart.set_colours(['ff9900','ffebcc'])
    chart.add_marker(0, '', 'N*f1*%', '000000', 10)
    
    if background_color:
        chart.fill_solid(chart.BACKGROUND, background_color)
    if colour:
        chart.set_colours([colour])
    return chart.get_url()
    
        
예제 #2
0
def __bar_graphic__(data, legends, axis_labels, size, steps,  
                    type=StackedVerticalBarChart, multiline=False):
    
    if multiline:
        max_values = []
        min_values = [] 
        for row in data:
            max_values.append(max(row))
            min_values.append(min(row))
        max_value = max(max_values)
        min_value = min(min_values)
    else:
        max_value = max(data)
        min_value = min(data)

    step = ((max_value*1.05)-(min_value*0.95))/steps
    left_axis = range(int(min_value*0.95), int(max_value*1.05), int(step))
    left_axis[0]=''

    if type==StackedHorizontalBarChart:
        graph = StackedHorizontalBarChart(size[0], size[1], x_range=(0, max_value*1.05))
        graph.set_axis_labels(Axis.BOTTOM, left_axis)
        graph.set_axis_labels(Axis.LEFT, axis_labels)
    elif type==StackedVerticalBarChart:
        graph = StackedVerticalBarChart(size[0], size[1], y_range=(0, max_value*1.05))
        graph.set_axis_labels(Axis.LEFT, left_axis)
        graph.set_axis_labels(Axis.BOTTOM, axis_labels)
    elif type==GroupedHorizontalBarChart:
        graph = GroupedHorizontalBarChart(size[0], size[1], x_range=(0, max_value*1.05))
        graph.set_axis_labels(Axis.BOTTOM, left_axis)
        graph.set_axis_labels(Axis.LEFT, axis_labels)
        graph.set_bar_spacing(5)
    elif type==GroupedVerticalBarChart:
        graph = GroupedVerticalBarChart(size[0], size[1], y_range=(0, max_value*1.05))
        graph.set_axis_labels(Axis.LEFT, left_axis)
        graph.set_axis_labels(Axis.BOTTOM, axis_labels)
        graph.set_bar_spacing(5)
    else:
        pass #raise exception


    if multiline:
        for fila in data:
            graph.add_data(fila)
    else:
        graph.add_data(data)
    
    graph.set_colours([ 'FFBC13','22A410','E6EC23','2B2133','BD0915','3D43BD'])
    graph.set_bar_width(40)
    graph.set_legend(legends)
    graph.set_legend_position('b')
    
    
    return graph
예제 #3
0
파일: chart_CVE.py 프로젝트: aod7br/clavis
def bar_chart_cve(data, labels, filename, title):
    chart = StackedHorizontalBarChart(settings.width, settings.height,
                                      x_range=(0, 10))
    chart.set_bar_width(10)
    chart.set_title(title)
    chart.set_legend([ 'Impacto','Exploitabilidade'])
    chart.set_colours(['0000ff', 'ff0000'])
    chart.set_legend_position('r')
    chart.set_axis_labels(Axis.LEFT, labels)
    chart.add_data(data)
    chart.download(filename)
예제 #4
0
파일: bar.py 프로젝트: iqmaker/smalltools
def stacked_horizontal():
    chart = StackedHorizontalBarChart(400, 200,
                                      x_range=(0, 35))
    chart.set_bar_width(10)
    chart.set_colours(['00ff00', 'ff0000','ACff0C','B0ffE0','C0ffFF'])
    chart.add_data([1,2,3,4,5])
    chart.set_title('This is title')
    chart.set_legend( ['a','b','c','d','e'])
    chart.set_axis_labels('y', ['aa','bb','cc','dd','ee'])
    chart.annotated_data()
    chart.download('bar-horizontal-stacked.png')
예제 #5
0
파일: chart_CVE.py 프로젝트: aod7br/clavis
def bar_chart_cve(data, labels, filename, title):
    chart = StackedHorizontalBarChart(settings.width,
                                      settings.height,
                                      x_range=(0, 10))
    chart.set_bar_width(10)
    chart.set_title(title)
    chart.set_legend(['Impacto', 'Exploitabilidade'])
    chart.set_colours(['0000ff', 'ff0000'])
    chart.set_legend_position('r')
    chart.set_axis_labels(Axis.LEFT, labels)
    chart.add_data(data)
    chart.download(filename)
def Chart():
    aa = scraperwiki.datastore.retrieve({'Wards':None})
    d = defaultdict(int)
    for a in aa:
        pp = a['data']['Wards']
        d[pp] += 1
    print d
    chart = StackedHorizontalBarChart(700, 425, x_range=(0, 200), colours=["556600"])
    chart.set_legend(['Planning apps'])
    chart.set_bar_width(8)
    axis = sorted(d.keys())
    data = [d[x] for x in axis]
    chart.set_axis_labels(Axis.LEFT, axis)
    chart.set_axis_labels(Axis.BOTTOM, map(str, range(0,100,10)))
    chart.add_data(data)
    graph_url = chart.get_url()
    print graph_url
    scraperwiki.sqlite.save_var("chart", graph_url)
예제 #7
0
def Chart():
    aa = scraperwiki.datastore.retrieve({'Wards': None})
    d = defaultdict(int)
    for a in aa:
        pp = a['data']['Wards']
        d[pp] += 1
    print d
    chart = StackedHorizontalBarChart(700,
                                      425,
                                      x_range=(0, 200),
                                      colours=["556600"])
    chart.set_legend(['Planning apps'])
    chart.set_bar_width(8)
    axis = sorted(d.keys())
    data = [d[x] for x in axis]
    chart.set_axis_labels(Axis.LEFT, axis)
    chart.set_axis_labels(Axis.BOTTOM, map(str, range(0, 100, 10)))
    chart.add_data(data)
    graph_url = chart.get_url()
    print graph_url
    scraperwiki.sqlite.save_var("chart", graph_url)
예제 #8
0
def _bar_graph(data,
               legends,
               axis_labels,
               size,
               steps,
               type=StackedVerticalBarChart,
               multiline=False):

    if multiline:
        max_values = []
        min_values = []
        for row in data:
            max_values.append(max(row))
            min_values.append(min(row))
        max_value = max(max_values)
        min_value = min(min_values)
    else:
        max_value = max(data)
        min_value = min(data)

    #validando si hay datos para hacer grafico
    if max_value == 0:
        return None

    step = ((max_value * 1.05) - (min_value * 0.95)) / steps

    #validando en caso de el paso sea menor que uno y de cero en la conversion
    if step < 1:
        step = 1

    tope = int(round(max_value * 1.05))
    if tope < max_value:
        tope += 2
    else:
        tope += 1

    left_axis = range(int(round(min_value * 0.95)), tope, int(step))
    left_axis[0] = ''

    if type == StackedHorizontalBarChart:
        graph = StackedHorizontalBarChart(size[0],
                                          size[1],
                                          x_range=(0, max_value * 1.05))
        graph.set_axis_labels(Axis.BOTTOM, left_axis)
        if axis_labels:
            graph.set_axis_labels(Axis.LEFT, axis_labels)
    elif type == StackedVerticalBarChart:
        graph = StackedVerticalBarChart(size[0],
                                        size[1],
                                        y_range=(0, max_value * 1.05))
        graph.set_axis_labels(Axis.LEFT, left_axis)
        if axis_labels:
            graph.set_axis_labels(Axis.BOTTOM, axis_labels)
    elif type == GroupedHorizontalBarChart:
        graph = GroupedHorizontalBarChart(size[0],
                                          size[1],
                                          x_range=(0, max_value * 1.05))
        graph.set_axis_labels(Axis.BOTTOM, left_axis)
        if axis_labels:
            graph.set_axis_labels(Axis.LEFT, axis_labels)
        graph.set_bar_spacing(5)
    elif type == GroupedVerticalBarChart:
        graph = GroupedVerticalBarChart(size[0],
                                        size[1],
                                        y_range=(0, max_value * 1.05))
        graph.set_axis_labels(Axis.LEFT, left_axis)
        if axis_labels:
            graph.set_axis_labels(Axis.BOTTOM, axis_labels)
        graph.set_bar_spacing(5)
    else:
        pass  #raise exception

    if multiline:
        for fila in data:
            graph.add_data(fila)
    else:
        graph.add_data(data)

    graph.set_colours(
        ['FFBC13', '22A410', 'E6EC23', '2B2133', 'BD0915', '3D43BD'])
    graph.set_bar_width(44)
    graph.set_legend(legends)
    graph.set_legend_position('b')

    return graph
예제 #9
0
파일: grafos.py 프로젝트: fitoria/mcas
def _bar_graph(data, legends, axis_labels, size, steps,  
                    type=StackedVerticalBarChart, multiline=False):
    
    if multiline:
        max_values = []
        min_values = [] 
        for row in data:
            max_values.append(max(row))
            min_values.append(min(row))
        max_value = max(max_values)
        min_value = min(min_values)
    else:
        max_value = max(data)
        min_value = min(data)

    #validando si hay datos para hacer grafico
    if max_value==0:
        return None

    step = ((max_value*1.05)-(min_value*0.95))/steps
    
    #validando en caso de el paso sea menor que uno y de cero en la conversion
    if step<1:
        step = 1    

    tope = int(round(max_value*1.05))
    if tope < max_value:
        tope+=2
    else:
        tope+=1

    left_axis = range(int(round(min_value*0.95)), tope, int(step))
    left_axis[0]=''

    if type==StackedHorizontalBarChart:
        graph = StackedHorizontalBarChart(size[0], size[1], x_range=(0, max_value*1.05))
        graph.set_axis_labels(Axis.BOTTOM, left_axis)
        if axis_labels:
            graph.set_axis_labels(Axis.LEFT, axis_labels)
    elif type==StackedVerticalBarChart:
        graph = StackedVerticalBarChart(size[0], size[1], y_range=(0, max_value*1.05))
        graph.set_axis_labels(Axis.LEFT, left_axis)
        if axis_labels:
            graph.set_axis_labels(Axis.BOTTOM, axis_labels)
    elif type==GroupedHorizontalBarChart:
        graph = GroupedHorizontalBarChart(size[0], size[1], x_range=(0, max_value*1.05))
        graph.set_axis_labels(Axis.BOTTOM, left_axis)
        if axis_labels:
            graph.set_axis_labels(Axis.LEFT, axis_labels)
        graph.set_bar_spacing(5)
    elif type==GroupedVerticalBarChart:
        graph = GroupedVerticalBarChart(size[0], size[1], y_range=(0, max_value*1.05))
        graph.set_axis_labels(Axis.LEFT, left_axis)
        if axis_labels: 
            graph.set_axis_labels(Axis.BOTTOM, axis_labels)
        graph.set_bar_spacing(5)
    else:
        pass #raise exception


    if multiline:
        for fila in data:
            graph.add_data(fila)
    else:
        graph.add_data(data)
    
    graph.set_colours(COLORS)
    graph.set_bar_width(32)
    graph.set_legend(legends)
    graph.set_legend_position('b')
    
    
    return graph
예제 #10
0
파일: t.py 프로젝트: iqmaker/smalltools
from pygooglechart import SimpleLineChart, StackedHorizontalBarChart, StackedVerticalBarChart, \
    GroupedHorizontalBarChart, GroupedVerticalBarChart
from pygooglechart import PieChart2D
from pygooglechart import PieChart3D
import os
import sys

ROOT = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, os.path.join(ROOT, '..'))


l = [0, 0, 0, 1, 1, 1, 3, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 8, 11, 17, 20, 26, 36, 36, 38, 42, 47, 49, 54, 59, 59, 66, 66, 67, 68, 69, 77, 85, 86, 87, 88, 93, 115, 116, 121, 122, 137, 152, 173, 180, 181, 183, 191, 202, 203, 208, 233, 238, 241, 247, 262, 263, 268, 271, 273, 308, 325, 343, 346, 360, 365, 378, 410, 419, 479, 490, 535, 550, 550, 562, 608, 655, 670, 687, 709, 716, 745, 758, 769, 801, 807, 897, 899, 904, 907, 929, 1074, 1106, 1120, 1120, 1357, 1421, 3049]
a = ['\xd0\xa8\xd0\xb5\xd0\xb2\xd1\x80\xd0\xbe\xd0\xbb\xd0\xb5 \xd1\x84\xd0\xb8\xd0\xb5\xd1\x81\xd1\x82\xd0\xb0 ', '\xd0\x9c\xd0\xb5\xd1\x80\xd1\x81\xd0\xb5\xd0\xb4\xd0\xb5\xd1\x81 e230', '\xd0\x9c\xd0\xb5\xd1\x80\xd1\x81\xd0\xb5\xd0\xb4\xd0\xb5\xd1\x81 gl320', '\xd0\x9c\xd0\xb5\xd1\x80\xd1\x81\xd0\xb5\xd0\xb4\xd0\xb5\xd1\x81 c230', '\xd0\x9c\xd0\xb5\xd1\x80\xd1\x81\xd0\xb5\xd0\xb4\xd0\xb5\xd1\x81 cl500', '\xd0\x9c\xd0\xb5\xd1\x80\xd1\x81\xd0\xb5\xd0\xb4\xd0\xb5\xd1\x81 e220', '\xd0\x9c\xd0\xb5\xd1\x80\xd1\x81\xd0\xb5\xd0\xb4\xd0\xb5\xd1\x81 e320', '\xd0\x9c\xd0\xb5\xd1\x80\xd1\x81\xd0\xb5\xd0\xb4\xd0\xb5\xd1\x81 e240', '\xd0\x9c\xd0\xb5\xd1\x80\xd1\x81\xd0\xb5\xd0\xb4\xd0\xb5\xd1\x81 g500', '\xd0\x9c\xd0\xb5\xd1\x80\xd1\x81\xd0\xb5\xd0\xb4\xd0\xb5\xd1\x81 ml350', '\xd0\x9c\xd0\xb5\xd1\x80\xd1\x81\xd0\xb5\xd0\xb4\xd0\xb5\xd1\x81 c200', '\xd0\x9c\xd0\xb5\xd1\x80\xd1\x81\xd0\xb5\xd0\xb4\xd0\xb5\xd1\x81 c220', '\xd0\x9c\xd0\xb5\xd1\x80\xd1\x81\xd0\xb5\xd0\xb4\xd0\xb5\xd1\x81 ml320', '\xd0\x9c\xd0\xb5\xd1\x80\xd1\x81\xd0\xb5\xd0\xb4\xd0\xb5\xd1\x81 viano', '\xd0\x91\xd0\x9c\xd0\x92 325', '\xd0\x91\xd0\x9c\xd0\x92 530', '\xd0\x9c\xd0\xb5\xd1\x80\xd1\x81\xd0\xb5\xd0\xb4\xd0\xb5\xd1\x81 e200', '\xd0\x9c\xd0\xb5\xd1\x80\xd1\x81\xd0\xb5\xd0\xb4\xd0\xb5\xd1\x81 e280', '\xd0\x91\xd0\x9c\xd0\x92 x6', '\xd0\x9c\xd0\xb5\xd1\x80\xd1\x81\xd0\xb5\xd0\xb4\xd0\xb5\xd1\x81 s600', '\xd0\xa5\xd0\xbe\xd0\xbd\xd0\xb4\xd0\xb0 \xd0\xbb\xd0\xb5\xd0\xb3\xd0\xb5\xd0\xbd\xd0\xb4', '\xd0\x9c\xd0\xb5\xd1\x80\xd1\x81\xd0\xb5\xd0\xb4\xd0\xb5\xd1\x81 c180', '\xd0\x9c\xd0\xb5\xd1\x80\xd1\x81\xd0\xb5\xd0\xb4\xd0\xb5\xd1\x81 230', '\xd0\x9c\xd0\xb5\xd1\x80\xd1\x81\xd0\xb5\xd0\xb4\xd0\xb5\xd1\x81 s500', '\xd0\xa2\xd0\xbe\xd0\xb9\xd0\xbe\xd1\x82\xd0\xb0 \xd1\x85\xd0\xb0\xd0\xb9\xd0\xbb\xd0\xb5\xd0\xbd\xd0\xb4\xd0\xb5\xd1\x80', '\xd0\x91\xd0\x9c\xd0\x92 318', '\xd0\xa2\xd0\xbe\xd0\xb9\xd0\xbe\xd1\x82\xd0\xb0 \xd0\xbf\xd1\x80\xd0\xb8\xd1\x83\xd1\x81', '\xd0\x9c\xd0\xb0\xd0\xb7\xd0\xb4\xd0\xb0 CX', '\xd0\x91\xd0\x9c\xd0\x92 320', '\xd0\xa4\xd0\xbe\xd1\x80\xd0\xb4 c-max', '\xd0\xa5\xd1\x83\xd0\xbd\xd0\xb4\xd0\xb0\xd0\xb9 \xd1\x81\xd0\xb0\xd0\xbd\xd1\x82\xd0\xb0\xd1\x84\xd0\xb5', '\xd0\x91\xd0\x9c\xd0\x92 x3', '\xd0\x9d\xd0\xb8\xd1\x81\xd1\x81\xd0\xb0\xd0\xbd \xd0\xbc\xd1\x83\xd1\x80\xd0\xb0\xd0\xbd\xd0\xbe', '\xd0\xa2\xd0\xbe\xd0\xb9\xd0\xbe\xd1\x82\xd0\xb0 \xd0\xb0\xd1\x83\xd1\x80\xd0\xb8\xd1\x81', '\xd0\xa5\xd0\xbe\xd0\xbd\xd0\xb4\xd0\xb0 H-RV', '\xd0\x90\xd1\x83\xd0\xb4\xd0\xb8 q7', '\xd0\xa2\xd0\xbe\xd0\xb9\xd0\xbe\xd1\x82\xd0\xb0 \xd0\xbc\xd0\xb0\xd1\x80\xd0\xba', '\xd0\x9c\xd0\xb8\xd1\x82\xd1\x81\xd1\x83\xd0\xb1\xd0\xb8\xd1\x81\xd0\xb8 \xd0\xbe\xd1\x83\xd1\x82\xd0\xbb\xd0\xb0\xd0\xbd\xd0\xb4\xd0\xb5\xd1\x80', '\xd0\xa5\xd1\x83\xd0\xbd\xd0\xb4\xd0\xb0\xd0\xb9 tucson', '\xd0\x91\xd0\x9c\xd0\x92 525', '\xd0\xa8\xd0\xb5\xd0\xb2\xd1\x80\xd0\xbe\xd0\xbb\xd0\xb5 \xd0\xba\xd0\xb0\xd0\xbf\xd1\x82\xd0\xb8\xd0\xb2\xd0\xb0', '\xd0\xa2\xd0\xbe\xd0\xb9\xd0\xbe\xd1\x82\xd0\xb0 \xd1\x81\xd0\xb5\xd0\xbb\xd0\xb8\xd0\xba\xd0\xb0', '\xd0\x9d\xd0\xb8\xd1\x81\xd1\x81\xd0\xb0\xd0\xbd \xd0\xbd\xd0\xbe\xd1\x83\xd1\x82', '\xd0\xa2\xd0\xbe\xd0\xb9\xd0\xbe\xd1\x82\xd0\xb0 \xd1\x80\xd0\xb0\xd0\xb2 4', '\xd0\x9d\xd0\xb8\xd1\x81\xd1\x81\xd0\xb0\xd0\xbd \xd0\xbf\xd0\xb0\xd1\x82\xd1\x84\xd0\xb0\xd0\xb9\xd0\xbd\xd0\xb4\xd0\xb5\xd1\x80', '\xd0\xa2\xd0\xbe\xd0\xb9\xd0\xbe\xd1\x82\xd0\xb0 \xd1\x8f\xd1\x80\xd0\xb8\xd1\x81', '\xd0\x9d\xd0\xb8\xd1\x81\xd1\x81\xd0\xb0\xd0\xbd \xd1\x82\xd0\xb8\xd0\xb8\xd0\xb4\xd0\xb0', '\xd0\x9d\xd0\xb8\xd1\x81\xd1\x81\xd0\xb0\xd0\xbd \xd0\xbc\xd0\xb8\xd0\xba\xd1\x80\xd0\xb0', '\xd0\xa4\xd0\xbe\xd0\xbb\xd1\x8c\xd0\xba\xd1\x81\xd0\xb2\xd0\xb0\xd0\xb3\xd0\xb5\xd0\xbd \xd1\x82\xd1\x83\xd0\xb0\xd1\x80\xd0\xb5\xd0\xb3', '\xd0\x9c\xd0\xb5\xd1\x80\xd1\x81\xd0\xb5\xd0\xb4\xd0\xb5\xd1\x81 190', '\xd0\xa4\xd0\xbe\xd1\x80\xd0\xb4 \xd1\x84\xd1\x8c\xd1\x8e\xd0\xb6\xd0\xb8\xd0\xbd', '\xd0\x9d\xd0\xb8\xd1\x81\xd1\x81\xd0\xb0\xd0\xbd \xd0\xb8\xd0\xba\xd1\x81\xd1\x82\xd1\x80\xd0\xb5\xd0\xb8\xd0\xbb', '\xd0\x9d\xd0\xb8\xd1\x81\xd1\x81\xd0\xb0\xd0\xbd \xd0\xba\xd0\xb0\xd1\x88\xd0\xba\xd0\xb0\xd0\xb9', '\xd0\x90\xd1\x83\xd0\xb4\xd0\xb8 \xd0\xb08', '\xd0\x91\xd0\x9c\xd0\x92 x5', '\xd0\x9d\xd0\xb8\xd1\x81\xd1\x81\xd0\xb0\xd0\xbd \xd1\x82\xd0\xb5\xd0\xb0\xd0\xbd\xd0\xb0', '\xd0\x9e\xd0\xbf\xd0\xb5\xd0\xbb\xd1\x8c \xd0\xb7\xd0\xb0\xd1\x84\xd0\xb8\xd1\x80\xd0\xb0', '\xd0\x9c\xd0\xb8\xd1\x82\xd1\x81\xd1\x83\xd0\xb1\xd0\xb8\xd1\x81\xd0\xb8 \xd0\xba\xd0\xbe\xd0\xbb\xd1\x8c\xd1\x82', '\xd0\xa0\xd0\xb5\xd0\xbd\xd0\xbe \xd1\x81\xd1\x86\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xba', '\xd0\xa0\xd0\xb5\xd0\xbd\xd0\xbe \xd0\xbb\xd0\xb0\xd0\xb3\xd1\x83\xd0\xbd\xd0\xb0', '\xd0\x9d\xd0\xb8\xd1\x81\xd1\x81\xd0\xb0\xd0\xbd \xd0\xbf\xd0\xb0\xd1\x82\xd1\x80\xd0\xbe\xd0\xbb', '\xd0\xa2\xd0\xbe\xd0\xb9\xd0\xbe\xd1\x82\xd0\xb0 \xd0\xba\xd0\xb0\xd1\x80\xd0\xb8\xd0\xbd\xd0\xb0', '\xd0\xa0\xd0\xb5\xd0\xbd\xd0\xbe \xd1\x81\xd0\xb8\xd0\xbc\xd0\xb1\xd0\xbe\xd0\xbb', '\xd0\xa5\xd1\x83\xd0\xbd\xd0\xb4\xd0\xb0\xd0\xb9 \xd0\xb3\xd0\xb5\xd1\x82\xd1\x86', '\xd0\xa8\xd0\xba\xd0\xbe\xd0\xb4\xd0\xb0 \xd1\x84\xd0\xb0\xd0\xb1\xd0\xb8\xd1\x8f', '\xd0\x9d\xd0\xb8\xd1\x81\xd1\x81\xd0\xb0\xd0\xbd \xd0\xbc\xd0\xb0\xd0\xba\xd1\x81\xd0\xb8\xd0\xbc\xd0\xb0', '\xd0\x9e\xd0\xbf\xd0\xb5\xd0\xbb\xd1\x8c \xd0\xba\xd0\xbe\xd1\x80\xd1\x81\xd0\xb0', '\xd0\xa8\xd0\xb5\xd0\xb2\xd1\x80\xd0\xbe\xd0\xbb\xd0\xb5 \xd0\xbb\xd0\xb0\xd0\xbd\xd0\xbe\xd1\x81', '\xd0\x9c\xd0\xb0\xd0\xb7\xd0\xb4\xd0\xb0 323', '\xd0\xa5\xd1\x83\xd0\xbd\xd0\xb4\xd0\xb0\xd0\xb9 \xd1\x8d\xd0\xbb\xd0\xb0\xd0\xbd\xd1\x82\xd1\x80\xd0\xb0', '\xd0\xa2\xd0\xbe\xd0\xb9\xd0\xbe\xd1\x82\xd0\xb0 Land Cruiser', '\xd0\x9c\xd0\xb8\xd1\x82\xd1\x81\xd1\x83\xd0\xb1\xd0\xb8\xd1\x81\xd0\xb8 \xd0\xba\xd0\xb0\xd1\x80\xd0\xb8\xd0\xb7\xd0\xbc\xd0\xb0', '\xd0\xa2\xd0\xbe\xd0\xb9\xd0\xbe\xd1\x82\xd0\xb0 \xd0\xb0\xd0\xb2\xd0\xb5\xd0\xbd\xd1\x81\xd0\xb8\xd1\x81', '\xd0\xa5\xd1\x83\xd0\xbd\xd0\xb4\xd0\xb0\xd0\xb9 \xd1\x81\xd0\xbe\xd0\xbd\xd0\xb0\xd1\x82\xd0\xb0', '\xd0\x90\xd1\x83\xd0\xb4\xd0\xb8 \xd0\xb04', '\xd0\xa5\xd0\xbe\xd0\xbd\xd0\xb4\xd0\xb0 C-RV', '\xd0\x9c\xd0\xb0\xd0\xb7\xd0\xb4\xd0\xb0 626', '\xd0\xa8\xd0\xb5\xd0\xb2\xd1\x80\xd0\xbe\xd0\xbb\xd0\xb5 \xd0\xb0\xd0\xb2\xd0\xb5\xd0\xbe', '\xd0\xa8\xd0\xb5\xd0\xb2\xd1\x80\xd0\xbe\xd0\xbb\xd0\xb5 \xd0\xb0\xd0\xb2\xd0\xb5\xd0\xbe', '\xd0\x90\xd1\x83\xd0\xb4\xd0\xb8 \xd0\xb06', '\xd0\x9c\xd0\xb8\xd1\x82\xd1\x81\xd1\x83\xd0\xb1\xd0\xb8\xd1\x81\xd0\xb8 \xd0\xb3\xd0\xb0\xd0\xbb\xd0\xb0\xd0\xbd\xd1\x82', '\xd0\xa2\xd0\xbe\xd0\xb9\xd0\xbe\xd1\x82\xd0\xb0 \xd0\xba\xd0\xb0\xd0\xbc\xd1\x80\xd0\xb8', '\xd0\xa4\xd0\xbe\xd0\xbb\xd1\x8c\xd0\xba\xd1\x81\xd0\xb2\xd0\xb0\xd0\xb3\xd0\xb5\xd0\xbd \xd0\xb3\xd0\xbe\xd0\xbb\xd1\x8c\xd1\x84', '\xd0\xa0\xd0\xb5\xd0\xbd\xd0\xbe \xd0\xbc\xd0\xb5\xd0\xb3\xd0\xb0\xd0\xbd', '\xd0\x9e\xd0\xbf\xd0\xb5\xd0\xbb\xd1\x8c \xd0\xbe\xd0\xbc\xd0\xb5\xd0\xb3\xd0\xb0', '\xd0\xa8\xd0\xb5\xd0\xb2\xd1\x80\xd0\xbe\xd0\xbb\xd0\xb5 \xd0\xbb\xd0\xb0\xd1\x87\xd0\xb5\xd1\x82\xd1\x82\xd0\xb8', '\xd0\x9c\xd0\xb0\xd0\xb7\xd0\xb4\xd0\xb0 6', '\xd0\xa5\xd0\xbe\xd0\xbd\xd0\xb4\xd0\xb0 \xd0\xb0\xd0\xba\xd0\xba\xd0\xbe\xd1\x80\xd0\xb4', '\xd0\x9c\xd0\xb8\xd1\x82\xd1\x81\xd1\x83\xd0\xb1\xd0\xb8\xd1\x81\xd0\xb8 \xd0\xbf\xd0\xb0\xd0\xb4\xd0\xb6\xd0\xb5\xd1\x80\xd0\xbe', '\xd0\x9d\xd0\xb8\xd1\x81\xd1\x81\xd0\xb0\xd0\xbd \xd0\xbf\xd1\x80\xd0\xb8\xd0\xbc\xd0\xb5\xd1\x80\xd0\xb0', '\xd0\xa5\xd1\x83\xd0\xbd\xd0\xb4\xd0\xb0\xd0\xb9 \xd0\xb0\xd0\xba\xd1\x86\xd0\xb5\xd0\xbd\xd1\x82', '\xd0\xa2\xd0\xbe\xd0\xb9\xd0\xbe\xd1\x82\xd0\xb0 \xd0\xba\xd0\xbe\xd1\x80\xd0\xbe\xd0\xbb\xd0\xbb\xd0\xb0', '\xd0\xa5\xd0\xbe\xd0\xbd\xd0\xb4\xd0\xb0 \xd1\x81\xd0\xb8\xd0\xb2\xd0\xb8\xd0\xba', '\xd0\xa0\xd0\xb5\xd0\xbd\xd0\xbe \xd0\xbb\xd0\xbe\xd0\xb3\xd0\xb0\xd0\xbd', '\xd0\x9c\xd0\xb0\xd0\xb7\xd0\xb4\xd0\xb0 3', '\xd0\xa8\xd0\xba\xd0\xbe\xd0\xb4\xd0\xb0 \xd0\xbe\xd0\xba\xd1\x82\xd0\xb0\xd0\xb2\xd0\xb8\xd1\x8f', '\xd0\x9c\xd0\xb8\xd1\x82\xd1\x81\xd1\x83\xd0\xb1\xd0\xb8\xd1\x81\xd0\xb8 \xd0\xbb\xd0\xb0\xd0\xbd\xd1\x81\xd0\xb5\xd1\x80', '\xd0\xa4\xd0\xbe\xd1\x80\xd0\xb4 \xd0\xbc\xd0\xbe\xd0\xbd\xd0\xb4\xd0\xb5\xd0\xbe', '\xd0\x9d\xd0\xb8\xd1\x81\xd1\x81\xd0\xb0\xd0\xbd \xd0\xb0\xd0\xbb\xd1\x8c\xd0\xbc\xd0\xb5\xd1\x80\xd0\xb0', '\xd0\xa4\xd0\xbe\xd0\xbb\xd1\x8c\xd0\xba\xd1\x81\xd0\xb2\xd0\xb0\xd0\xb3\xd0\xb5\xd0\xbd \xd0\xbf\xd0\xb0\xd1\x81\xd1\x81\xd0\xb0\xd1\x82', '\xd0\x9e\xd0\xbf\xd0\xb5\xd0\xbb\xd1\x8c \xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xb0', '\xd0\x9e\xd0\xbf\xd0\xb5\xd0\xbb\xd1\x8c \xd0\xb2\xd0\xb5\xd0\xba\xd1\x82\xd1\x80\xd0\xb0', '\xd0\xa4\xd0\xbe\xd1\x80\xd0\xb4 \xd1\x84\xd0\xbe\xd0\xba\xd1\x83\xd1\x81']

index = 0
for i in a:
    print ("%s;%s"%(i.decode("utf-8"),l[index]) )
    index+=1

chart = StackedHorizontalBarChart(400, 700, x_range=(0, max(l) ) )
chart.set_bar_width( 3 )
chart.set_colours(['8159F7', ])
chart.add_data( l )
chart.set_title( "Razbor by models" )
chart.set_legend( ['',] )

a.reverse()
chart.set_axis_labels('y', a )
chart.annotated_data()
chart.download( "razbors_By_models_car.png")
예제 #11
0
파일: grafos.py 프로젝트: johnfelipe/sissan
def __bar_graphic__(data,
                    legends,
                    axis_labels,
                    size,
                    steps,
                    type=StackedVerticalBarChart,
                    multiline=False):

    if multiline:
        max_values = []
        min_values = []
        for row in data:
            max_values.append(max(row))
            min_values.append(min(row))
        max_value = max(max_values)
        min_value = min(min_values)
    else:
        max_value = max(data)
        min_value = min(data)

    step = ((max_value * 1.05) - (min_value * 0.95)) / steps
    left_axis = range(int(min_value * 0.95), int(max_value * 1.05), int(step))
    left_axis[0] = ''

    if type == StackedHorizontalBarChart:
        graph = StackedHorizontalBarChart(size[0],
                                          size[1],
                                          x_range=(0, max_value * 1.05))
        graph.set_axis_labels(Axis.BOTTOM, left_axis)
        graph.set_axis_labels(Axis.LEFT, axis_labels)
    elif type == StackedVerticalBarChart:
        graph = StackedVerticalBarChart(size[0],
                                        size[1],
                                        y_range=(0, max_value * 1.05))
        graph.set_axis_labels(Axis.LEFT, left_axis)
        graph.set_axis_labels(Axis.BOTTOM, axis_labels)
    elif type == GroupedHorizontalBarChart:
        graph = GroupedHorizontalBarChart(size[0],
                                          size[1],
                                          x_range=(0, max_value * 1.05))
        graph.set_axis_labels(Axis.BOTTOM, left_axis)
        graph.set_axis_labels(Axis.LEFT, axis_labels)
        graph.set_bar_spacing(5)
    elif type == GroupedVerticalBarChart:
        graph = GroupedVerticalBarChart(size[0],
                                        size[1],
                                        y_range=(0, max_value * 1.05))
        graph.set_axis_labels(Axis.LEFT, left_axis)
        graph.set_axis_labels(Axis.BOTTOM, axis_labels)
        graph.set_bar_spacing(5)
    else:
        pass  #raise exception

    if multiline:
        for fila in data:
            graph.add_data(fila)
    else:
        graph.add_data(data)

    graph.set_colours(
        ['FFBC13', '22A410', 'E6EC23', '2B2133', 'BD0915', '3D43BD'])
    graph.set_bar_width(40)
    graph.set_legend(legends)
    graph.set_legend_position('b')

    return graph