コード例 #1
0
ファイル: views.py プロジェクト: hfeeki/transifex
def get_image_url(obj):
    """
    Returns URL for the static image
    """
    height = 210

    trans = []
    fuzzy = []
    labels_left = []
    labels_right = []

    stats = get_sorted_stats(obj)
    for stat in stats:
        t = stat.translated_perc
        trans.append(t)
        labels_left.append(stat.language.name.encode('utf-8'))
        labels_right.append("%s%%" % t)

    labels_left.reverse()
    labels_right.reverse()

    chart = StackedHorizontalBarChart(
        width = 350,
        height = 14 + 13 * len(stats),
        x_range=(0, 100))
    chart.set_bar_width(9)
    chart.set_colours(['78dc7d', 'dae1ee', 'efefef']) # Green, dark gray, light gray
    chart.set_axis_labels(Axis.LEFT, labels_left)
    chart.set_axis_labels(Axis.RIGHT, labels_right)
    chart.add_data(trans)
    return chart.get_url()
コード例 #2
0
def get_image_url(obj, project=False):
    """
    Returns URL for the static image
    """
    height = 210

    trans = []
    fuzzy = []
    labels_left = []
    labels_right = []

    stats = get_sorted_stats(obj, project)
    for stat in stats:
        t = stat.translated_perc
        trans.append(t)
        labels_left.append(stat.language.name.encode('utf-8'))
        labels_right.append("%s%%" % t)

    labels_left.reverse()
    labels_right.reverse()

    chart = StackedHorizontalBarChart(width=350,
                                      height=14 + 13 * len(stats),
                                      x_range=(0, 100))
    chart.set_bar_width(9)
    chart.set_colours(['78dc7d', 'dae1ee',
                       'efefef'])  # Green, dark gray, light gray
    chart.set_axis_labels(Axis.LEFT, labels_left)
    chart.set_axis_labels(Axis.RIGHT, labels_right)
    chart.add_data(trans)
    return chart.get_url()
コード例 #3
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()
    
        
コード例 #4
0
ファイル: charttest.py プロジェクト: theduke/DukeStats
def stacked_horizontal():
    chart = StackedHorizontalBarChart(settings['width'], settings['height'],
                                      x_range=(0, 35))
    chart.set_bar_width(10)
    chart.set_colours(['00ff00', 'ff0000'])
    chart.add_data([1,2,3,4,5])
    chart.add_data([1,4,9,16,25])
    chart.download('bar-horizontal-stacked.png')
コード例 #5
0
ファイル: bar.py プロジェクト: thqbop/nuvola
def stacked_horizontal():
    chart = StackedHorizontalBarChart(settings.width, settings.height,
                                      x_range=(0, 35))
    chart.set_bar_width(10)
    chart.set_colours(['00ff00', 'ff0000'])
    chart.add_data([1,2,3,4,5])
    chart.add_data([1,4,9,16,25])
    chart.download('bar-horizontal-stacked.png')
コード例 #6
0
ファイル: chart.py プロジェクト: nanbing/BehaviorStatistic
def __fullfile_chart(title,data,labels,color):
    chart=StackedHorizontalBarChart(WIDTH, len(data)*40,x_range=[0,__max_x(data)])
    chart.set_colours([color])
    chart.add_data(data)
    chart.set_axis_labels(Axis.TOP,[title])
    chart.set_axis_labels(Axis.LEFT,labels)
    chart.set_axis_labels(Axis.RIGHT, __r_labels(data))
    file_name='%s_%s.png' % (title.replace(' ','_').lower(),datetime.now().strftime('%Y-%m-%d'))
    chart.download(file_name)
    return file_name
コード例 #7
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)
コード例 #8
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')
コード例 #9
0
ファイル: grafos.py プロジェクト: byroncorrales/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
コード例 #10
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)
コード例 #11
0
    def display_user_stats(self, type="pie", filepath="chart.png"):
        """ filepath = display, filepath = url, filepath = real filepath"""
        """displays the number of VMs a user is running"""
        """ types supported pie, bar"""

        values = []
        label_values = []

        #        print self.users
        
        max_v = 0
        for name in self.users:
            number = self.users[name]['count']
            values.append(number)
            label_values.append(name + ":" + str(number))
            max_v = max(max_v, number)

        # print values
        # print label_values

        if type == "pie": 
            chart = PieChart3D(500, 200)
            chart.set_pie_labels(label_values)
        if type == "bar":
            chart = StackedHorizontalBarChart(500,200,
                                            x_range=(0, max_v))
            # the labels seem wrong, not sure why i have to call reverse
            chart.set_axis_labels('y', reversed(label_values))
            # setting the x axis labels
            left_axis = range(0, max_v + 1, 1)
            left_axis[0] = ''
            chart.set_axis_labels(Axis.BOTTOM, left_axis)

            chart.set_bar_width(10)
            chart.set_colours(['00ff00', 'ff0000'])

        # Add some data
        chart.add_data(values)

        # Assign the labels to the pie data

        if filepath == "display":
            #os.system ("open -a /Applications/Safari.app " + '"' + url + '"')
            os.system ("open " + filepath)
        elif filepath == "url":
            url = chart.get_url()
            print url
        else:
            Utility.ensure_dir(filepath)
            chart.download(filepath)
コード例 #12
0
ファイル: charts.py プロジェクト: esbenson/pbearfrfeed
def generate_bar_chart_by_agency_from_local():
    
    # initialize lists
    agency_names = []
    counts = []
    colours = []
    combined = []
    i = 0
            
    # get data 
    for a in Agency.objects.all():
        qset = FedRegDoc.objects.filter(agencies__name=a.name)
        if a.name:
            agency_names.append(a.name)
            counts.append(qset.count())
        elif a.raw_name:
            agency_names.append(a.raw_name)
            counts.append(qset.count())

    # the following section is a hack to order the chart properly
    len_counts = len(counts)
    while i < len_counts:
        combined.append((agency_names[i], counts[i]))
        i += 1
    i=0
    combined = sorted(combined, key=lambda c: c[1], reverse=True)
    #print "combined", combined
    counts = []
    agency_names = []
    while i < len_counts:
        counts.append(combined[i][1])
        agency_names.append(combined[i][0])
        i += 1
    agency_names.reverse()
    
    # set up chart
    chart = StackedHorizontalBarChart(600, 400, y_range=[0, max(counts)+10])
    chart.set_colours(['0000FF'])
    chart.set_axis_labels(Axis.LEFT, agency_names)
    chart.add_data(counts)
    chart.set_bar_width(10)
    chart_url = chart.get_url()
    #print "chart_url by agency", chart_url
    
    return chart_url
コード例 #13
0
    def get_bar_chart_image(self, data, **kw):
        """ Return image path of downloaded image from google charts api"""

        if len(data['y']) == 0:
            return ''

        from pygooglechart import StackedHorizontalBarChart, Axis

        width = int(kw.get('width', 400))
        height = int(kw.get('height', 250))

        max_y = max(data['y'])

        chart = StackedHorizontalBarChart(width,
                                          height,
                                          x_range=[0, max_y],
                                          y_range=[0, len(data['x'])])

        chart.add_data(data['y'])
        chart.set_colours(['76A4FB'])
        chart.set_axis_labels(Axis.LEFT, data['x'])
        bottom_labels = [
            utils.intcomma(x) for x in range(0, max_y + 1, (max_y) / 5)
        ]
        chart.set_axis_labels(Axis.BOTTOM, bottom_labels)

        #Generate an hash from arguments
        kw_hash = hash(tuple(sorted(kw.items())))
        data_hash = hash(
            tuple(sorted([(k, tuple(v)) for k, v in data.iteritems()])))
        args_hash = str(kw_hash) + str(data_hash)

        image_path = os.path.join(TARGET_DIR, "%s.png" % args_hash)

        if bool(kw.get('refresh', False)) or args_hash not in self.charts:
            #Get image from google chart api
            chart.download(image_path)
            if args_hash not in self.charts:
                self.charts.append(args_hash)
            self._p_changed = True

        return image_path
コード例 #14
0
ファイル: charts.py プロジェクト: nosolosw/poss-gl
def main(argv):

    nTraducidas = int(argv[0])
    nFuzzy = int(argv[1])
    nNoTraducidas = int(argv[2])

    totalCadenas = nTraducidas + nFuzzy + nNoTraducidas
    pTraducidas = (nTraducidas * 100) / totalCadenas
    pNoTraducidas = 100 - pTraducidas
    #print '% traducidos: ' + str(pTraducidas) + ' - % No Traducidos: ' + str(pNoTraducidas)

    chart = StackedHorizontalBarChart(settings.width,
                                      settings.height,
                                      x_range=(0, 100))
    # chart.set_bar_width(100)
    chart.set_colours(['00ff00', 'ff0000'])
    chart.fill_solid('bg', 'e3d185')
    chart.set_zero_line(0, 0)
    chart.add_data([pTraducidas])
    chart.add_data([pNoTraducidas])
    chart.download(argv[3])
コード例 #15
0
    def get_bar_chart_image(self, data, **kw):
        """ Return image path of downloaded image from google charts api"""

        if len(data['y']) == 0:
            return ''

        from pygooglechart import StackedHorizontalBarChart, Axis

        width = int(kw.get('width', 400))
        height = int(kw.get('height', 250))

        max_y = max(data['y'])

        chart = StackedHorizontalBarChart(width, height,
                                        x_range=[0, max_y],
                                        y_range=[0, len(data['x'])])


        chart.add_data(data['y'])
        chart.set_colours(['76A4FB'])
        chart.set_axis_labels(Axis.LEFT, data['x'])
        bottom_labels = [utils.intcomma(x) for x in range(0, max_y + 1, (max_y)/5)]
        chart.set_axis_labels(Axis.BOTTOM, bottom_labels)

        #Generate an hash from arguments
        kw_hash = hash(tuple(sorted(kw.items())))
        data_hash = hash(tuple(sorted([(k, tuple(v))
            for k, v in data.iteritems()])))
        args_hash = str(kw_hash) + str(data_hash)

        image_path = os.path.join(TARGET_DIR, "%s.png" % args_hash)

        if bool(kw.get('refresh', False)) or args_hash not in self.charts:
            #Get image from google chart api
            chart.download(image_path)
            if args_hash not in self.charts:
                self.charts.append(args_hash)
            self._p_changed = True

        return image_path
コード例 #16
0
ファイル: grafos.py プロジェクト: molivera7/suco_proga
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
コード例 #17
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
コード例 #18
0
https://github.com/gak/pygooglechart/blob/master/examples/bar.py

from pygooglechart import StackedHorizontalBarChart, StackedVerticalBarChart, \
    GroupedHorizontalBarChart, GroupedVerticalBarChart

	
	new_chart = StackedHorizontalBarChart(800,600)
>>> data_list=[]
>>> for item in data:
	if item == '':
		item = 0
	data_list.append(item)

	
>>> labels = []
>>> labels = data_dict.keys()
>>> new_chart.set_axis_labels('y', labels)
0
>>> data_list=[]
>>> for item in data:
	if item == '':
		item = 0
	data_list.append(item)
new_chart.set_colours(['D6F8F8'])
コード例 #19
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")
コード例 #20
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