Esempio n. 1
0
 def data_to_chart_limited(self, data, limit: Optional[int] = None, color_list=None):
     limit = self._get_chart_element_count() if limit is None else limit
     try:
         label_list, value_list = [list(d) for d in zip(*data)]
     except ValueError:
         return None
     label_list, value_list = flt.set_limit_for_data_to_chart(label_list, limit, value_list)
     color_list = get_color_list(len(value_list), limit=limit) if color_list is None else color_list
     return {
         'labels': label_list,
         'datasets': [{'data': value_list, 'backgroundColor': color_list, 'borderColor': '#fff', 'borderWidth': 2}]
     }
Esempio n. 2
0
def data_to_chart_limited(data, limit=10, color_list=None):
    try:
        label_list, value_list = map(list, zip(*data))
    except ValueError:
        return None
    if limit and len(label_list) > limit:
        label_list = label_list[:limit]
        label_list.append('rest')
        rest_sum = sum(value_list[limit:])
        value_list = value_list[:limit]
        value_list.append(rest_sum)
    if not color_list:
        color_list = get_color_list(len(value_list))
    result = {
        'labels': label_list,
        'datasets': [{
            'data': value_list,
            'backgroundColor': color_list,
            'borderColor': color_list,
            'borderWidth': 1
        }]
    }
    return result
Esempio n. 3
0
def data_to_chart(data):
    color_list = get_color_list(1) * len(data)
    return data_to_chart_limited(data, limit=0, color_list=color_list)
Esempio n. 4
0
def set_color_list_for_data_to_chart(color_list, value_list):
    if not color_list:
        color_list = get_color_list(len(value_list))
    return color_list
Esempio n. 5
0
def get_graph_colors():
    available_colors = get_color_list(10)
    color_list = list(
        islice(chain(*repeat(available_colors, 4)), None, None, 4))
    return color_list
Esempio n. 6
0
def get_graph_colors(quantity):
    return get_color_list(quantity, quantity) if quantity > 0 else []