Ejemplo n.º 1
0
 def data_generator():
     for x in range(25):
         key = x / 2.
         value = 2 * math.sin(x / 4.)
         color = colors.get_color_between(bottom_collor, top_color,
                                          (value + 2) / 4.)
         yield charts.data(key, value, fill_color=color)
Ejemplo n.º 2
0
 def f():
     previous_point = None
     length = 0
     for point in gpx.walk(only_points=True):
         if previous_point:
             length += previous_point.distance_2d(point)
         previous_point = point
         yield mod_charts.data(length, point.elevation)
Ejemplo n.º 3
0
 def f():
     previous_point = None
     length = 0
     for point in gpx.walk(only_points=True):
         if previous_point:
             length += previous_point.distance_2d(point)
         previous_point = point
         yield mod_charts.data(length, point.elevation)
Ejemplo n.º 4
0
 def f():
     from_color = (255, 255, 0)
     to_color = (100, 100, 255)
     i = -2
     while i < 6:
         value = 2 * math.sin(i)
         color = colors.get_color_between(from_color, to_color, (value + 2)/4.)
         yield charts.data(i, value, fill_color=color, color=(0, 0, 0))
         i += .05
Ejemplo n.º 5
0
 def f():
     from_color = (255, 255, 0)
     to_color = (100, 100, 255)
     i = -2
     while i < 6:
         value = 2 * math.sin(i)
         color = colors.get_color_between(from_color, to_color,
                                          (value + 2) / 4.)
         yield charts.data(i, value, fill_color=color, color=(0, 0, 0))
         i += .05
Ejemplo n.º 6
0
def test_piechart_2():
    """ PieChart with custom colors """
    coordinate_system = cartesius.CoordinateSystem()

    piechart_data = (
        charts.data('abc', 1, fill_color=(255, 200, 200)),
        charts.data('cde', 2, fill_color=(200, 255, 200)),
        charts.data('efg', 5, fill_color=(200, 200, 255)),
        charts.data('ijk', 3, fill_color=(255, 255, 255)),
    )
    piechart = charts.PieChart(data=piechart_data, color=(0, 0, 0))

    coordinate_system.add(piechart)

    # No need for axes:
    coordinate_system.add(elements.Axis(horizontal=True, hide=True))
    coordinate_system.add(elements.Axis(vertical=True, hide=True))

    return coordinate_system.draw(400, 250), coordinate_system.draw(400, 250, antialiasing=True),
Ejemplo n.º 7
0
def test_piechart_2():
    """ PieChart with custom colors """
    coordinate_system = cartesius.CoordinateSystem()

    piechart_data = (
        charts.data('abc', 1, fill_color=(255, 200, 200)),
        charts.data('cde', 2, fill_color=(200, 255, 200)),
        charts.data('efg', 5, fill_color=(200, 200, 255)),
        charts.data('ijk', 3, fill_color=(255, 255, 255)),
    )
    piechart = charts.PieChart(data=piechart_data, color=(0, 0, 0))

    coordinate_system.add(piechart)

    # No need for axes:
    coordinate_system.add(elements.Axis(horizontal=True, hide=True))
    coordinate_system.add(elements.Axis(vertical=True, hide=True))

    return coordinate_system.draw(300, 200), coordinate_system.draw(
        300, 200, antialiasing=True),
Ejemplo n.º 8
0
def test_line_charts():
    """ Line charts"""
    import cartesius.colors as colors

    coordinate_system = cartesius.CoordinateSystem()

    # linechart (that mimic function chart) with generator and colors computed on the fly:
    def f():
        from_color = (255, 255, 0)
        to_color = (100, 100, 255)
        i = -2
        while i < 6:
            value = 2 * math.sin(i)
            color = colors.get_color_between(from_color, to_color,
                                             (value + 2) / 4.)
            yield charts.data(i, value, fill_color=color, color=(0, 0, 0))
            i += .05

    coordinate_system.add(charts.LineChart(data=f, transparency_mask=0))

    # filled line chart with labels
    coordinate_system.add(
        charts.LineChart(data=(charts.data(-2, 1, label='aaa'),
                               charts.data(0, -1, label='bbb'),
                               charts.data(3, 1.2), charts.data(7, 1.2)),
                         fill_color=(50, 50, 50),
                         transparency_mask=50))

    # normal line chart with labels:
    coordinate_system.add(
        charts.LineChart(
            data=(charts.data(0, 0), charts.data(1, -3),
                  charts.data(4,
                              3,
                              label='aaa',
                              label_position=cartesius.CENTER_DOWN),
                  charts.data(5,
                              -2,
                              label='custom label',
                              label_position=cartesius.RIGHT_CENTER),
                  charts.data(7, 0)),
            color=(255, 0, 0),
            transparency_mask=150))

    return coordinate_system.draw(300, 200), coordinate_system.draw(
        300, 200, antialiasing=True)
Ejemplo n.º 9
0
def test_line_charts():
    """ Line charts"""
    import cartesius.colors as colors

    coordinate_system = cartesius.CoordinateSystem()

    # linechart (that mimic function chart) with generator and colors computed on the fly:
    def f():
        from_color = (255, 255, 0)
        to_color = (100, 100, 255)
        i = -2
        while i < 6:
            value = 2 * math.sin(i)
            color = colors.get_color_between(from_color, to_color, (value + 2)/4.)
            yield charts.data(i, value, fill_color=color, color=(0, 0, 0))
            i += .05

    coordinate_system.add(
            charts.LineChart(
                    data = f,
                    transparency_mask = 0))

    # filled line chart with labels
    coordinate_system.add(
            charts.LineChart(
                    data = (charts.data(-2, 1, label='aaa'), 
                            charts.data(0, -1, label='bbb'), 
                            charts.data(3, 1.2), 
                            charts.data(7, 1.2)),
                    fill_color = (50, 50, 50),
                    transparency_mask = 50))

    # normal line chart with labels:
    coordinate_system.add(
            charts.LineChart(
                    data = (charts.data(0, 0), 
                            charts.data(1, -3), 
                            charts.data(4, 3, label='aaa', label_position=cartesius.CENTER_DOWN), 
                            charts.data(5, -2, label='custom label', label_position=cartesius.RIGHT_CENTER), 
                            charts.data(7, 0)),
                    color = (255, 0, 0),
                    transparency_mask = 150))

    return coordinate_system.draw(400, 250), coordinate_system.draw(400, 250, antialiasing=True)
Ejemplo n.º 10
0
def test_barchart_2():
    """ BarChart with different column widths """
    coordinate_system = cartesius.CoordinateSystem()

    barchart_data = (
            charts.data(-5, -0, -.5, label='Negative value'),
            charts.data(0, 1, size=.7),
            charts.data(1, 3, size=2),
            charts.data(3, 4, size=4, label='#1'),
            charts.data(4, 5.5, size=3.1),
            charts.data(6, 7, size=2.1),
            charts.data(7, 9, size=1),
    )
    barchart = charts.BarChart(vertical=True, data=barchart_data, color=(0, 0, 0))
    coordinate_system.add(barchart)

    return coordinate_system.draw(400, 250), coordinate_system.draw(400, 250, antialiasing=True),
Ejemplo n.º 11
0
def test_barchart_2():
    """ BarChart with different column widths """
    coordinate_system = cartesius.CoordinateSystem()

    barchart_data = (
        charts.data(-5, -0, -.5, label='Negative value'),
        charts.data(0, 1, size=.7),
        charts.data(1, 3, size=2),
        charts.data(3, 4, size=4, label='#1'),
        charts.data(4, 5.5, size=3.1),
        charts.data(6, 7, size=2.1),
        charts.data(7, 9, size=1),
    )
    barchart = charts.BarChart(vertical=True,
                               data=barchart_data,
                               color=(0, 0, 0))
    coordinate_system.add(barchart)

    return coordinate_system.draw(300, 200), coordinate_system.draw(
        300, 200, antialiasing=True),
Ejemplo n.º 12
0
def test_piechart_1():
    """ PieChart with default colors """
    coordinate_system = cartesius.CoordinateSystem()

    # list or tuple of two-element tuples (value, label):
    piechart_data = (
        charts.data('abc', 1),
        charts.data('cde', 2),
        charts.data('efg', 4),
        charts.data('ijk', 1),
        charts.data('lmn', 5),
        charts.data('opq', 5),
        charts.data('xyz', 3),
    )
    piechart = charts.PieChart(data=piechart_data, color=(0, 0, 0))
    coordinate_system.add(piechart)

    # No need for axes:
    coordinate_system.add(elements.Axis(horizontal=True, hide=True))
    coordinate_system.add(elements.Axis(vertical=True, hide=True))

    return coordinate_system.draw(400, 250), coordinate_system.draw(400, 250, antialiasing=True),
Ejemplo n.º 13
0
def test_piechart_1():
    """ PieChart with default colors """
    coordinate_system = cartesius.CoordinateSystem()

    # list or tuple of two-element tuples (value, label):
    piechart_data = (
        charts.data('abc', 1),
        charts.data('cde', 2),
        charts.data('efg', 4),
        charts.data('ijk', 1),
        charts.data('lmn', 5),
        charts.data('opq', 5),
        charts.data('xyz', 3),
    )
    piechart = charts.PieChart(data=piechart_data, color=(0, 0, 0))
    coordinate_system.add(piechart)

    # No need for axes:
    coordinate_system.add(elements.Axis(horizontal=True, hide=True))
    coordinate_system.add(elements.Axis(vertical=True, hide=True))

    return coordinate_system.draw(300, 200), coordinate_system.draw(
        300, 200, antialiasing=True),
def data_generator():
    for x in range(int(5 / 0.02)):
        key = x
        value = f(x)
        color = (0, 0, 255)
        yield charts.data(key, value, color=color)
Ejemplo n.º 15
0
def test_barchart_horizontal():
    """ Horizontal bar charts """
    coordinate_system = cartesius.CoordinateSystem()

    barchart_data_1 = (
            charts.data(-1, -.5, label='a'),
            charts.data(0, .7, label='b'),
            charts.data(1, 2, label='c'),
            charts.data(2, 2.7, label='d'),
            charts.data(3, 4, label='Maximum value'),
            charts.data(4, 3.1, label='f'),
            charts.data(5, 2.1, label='g'),
            charts.data(6, 1, label='h'),
            charts.data(7, -.3, label='The end!')
    )
    barchart_1 = charts.BarChart(horizontal=True, data=barchart_data_1, width=0.95)
    coordinate_system.add(barchart_1)

    custom_color = (100, 100, 200)

    barchart_data_2 = (
            charts.data(-1, -.25, fill_color=custom_color),
            charts.data(0, .35, fill_color=custom_color),
            charts.data(1, 1, fill_color=custom_color),
            charts.data(2, 1.35, fill_color=custom_color),
            charts.data(3, 2, fill_color=custom_color),
            charts.data(4, 1.65, fill_color=custom_color),
            charts.data(5, 1, fill_color=custom_color),
            charts.data(6, .5, fill_color=custom_color),
            charts.data(7, -.6, fill_color=custom_color)
    )
    barchart_2 = charts.BarChart(horizontal=True, data=barchart_data_2, width=0.75, color=(0, 0, 0))
    coordinate_system.add(barchart_2)

    return coordinate_system.draw(400, 250), coordinate_system.draw(400, 250, antialiasing=True),
Ejemplo n.º 16
0
 def data_generator():
     for x in range(25):
         key = x / 2.
         value = 2 * math.sin(x/4.)
         color = colors.get_color_between(bottom_collor, top_color, (value + 2) / 4.)
         yield charts.data(key, value, fill_color=color)
Ejemplo n.º 17
0
def test_barchart_horizontal():
    """ Horizontal bar charts """
    coordinate_system = cartesius.CoordinateSystem()

    barchart_data_1 = (charts.data(-1, -.5,
                                   label='a'), charts.data(0, .7, label='b'),
                       charts.data(1, 2,
                                   label='c'), charts.data(2, 2.7, label='d'),
                       charts.data(3, 4, label='Maximum value'),
                       charts.data(4, 3.1,
                                   label='f'), charts.data(5, 2.1, label='g'),
                       charts.data(6, 1, label='h'),
                       charts.data(7, -.3, label='The end!'))
    barchart_1 = charts.BarChart(horizontal=True,
                                 data=barchart_data_1,
                                 width=0.95)
    coordinate_system.add(barchart_1)

    custom_color = (100, 100, 200)

    barchart_data_2 = (charts.data(-1, -.25, fill_color=custom_color),
                       charts.data(0, .35, fill_color=custom_color),
                       charts.data(1, 1, fill_color=custom_color),
                       charts.data(2, 1.35, fill_color=custom_color),
                       charts.data(3, 2, fill_color=custom_color),
                       charts.data(4, 1.65, fill_color=custom_color),
                       charts.data(5, 1, fill_color=custom_color),
                       charts.data(6, .5, fill_color=custom_color),
                       charts.data(7, -.6, fill_color=custom_color))
    barchart_2 = charts.BarChart(horizontal=True,
                                 data=barchart_data_2,
                                 width=0.75,
                                 color=(0, 0, 0))
    coordinate_system.add(barchart_2)

    return coordinate_system.draw(300, 200), coordinate_system.draw(
        300, 200, antialiasing=True),
Ejemplo n.º 18
0
def test_barchart_1():
    """ Bar charts with same column width. One with default and the other with custom colors """
    coordinate_system = cartesius.CoordinateSystem()

    barchart_data_1 = (charts.data(-1, -.5), charts.data(0, .7),
                       charts.data(1, 2), charts.data(2,
                                                      2.7), charts.data(3, 4),
                       charts.data(4, 3.1), charts.data(5, 2.1),
                       charts.data(6, 1), charts.data(7, -.3))
    barchart_1 = charts.BarChart(vertical=True,
                                 data=barchart_data_1,
                                 width=0.95)
    coordinate_system.add(barchart_1)

    custom_color = (100, 100, 200)

    barchart_data_2 = (charts.data(-1, -.25, fill_color=custom_color),
                       charts.data(0, .35, fill_color=custom_color),
                       charts.data(1, 1, fill_color=custom_color),
                       charts.data(2, 1.35, fill_color=custom_color),
                       charts.data(3, 2, fill_color=custom_color),
                       charts.data(4, 1.65, fill_color=custom_color),
                       charts.data(5, 1, fill_color=custom_color),
                       charts.data(6, .5, fill_color=custom_color),
                       charts.data(7, -.6, fill_color=custom_color))
    barchart_2 = charts.BarChart(vertical=True,
                                 data=barchart_data_2,
                                 width=0.75,
                                 color=(0, 0, 0))
    coordinate_system.add(barchart_2)

    return coordinate_system.draw(300, 200), coordinate_system.draw(
        300, 200, antialiasing=True),
Ejemplo n.º 19
0
def test_barchart_1():
    """ Bar charts with same column width. One with default and the other with custom colors """
    coordinate_system = cartesius.CoordinateSystem()

    barchart_data_1 = (
            charts.data(-1, -.5),
            charts.data(0, .7),
            charts.data(1, 2),
            charts.data(2, 2.7),
            charts.data(3, 4),
            charts.data(4, 3.1),
            charts.data(5, 2.1),
            charts.data(6, 1),
            charts.data(7, -.3)
    )
    barchart_1 = charts.BarChart(vertical=True, data=barchart_data_1, width=0.95)
    coordinate_system.add(barchart_1)

    custom_color = (100, 100, 200)

    barchart_data_2 = (
            charts.data(-1, -.25, fill_color=custom_color),
            charts.data(0, .35, fill_color=custom_color),
            charts.data(1, 1, fill_color=custom_color),
            charts.data(2, 1.35, fill_color=custom_color),
            charts.data(3, 2, fill_color=custom_color),
            charts.data(4, 1.65, fill_color=custom_color),
            charts.data(5, 1, fill_color=custom_color),
            charts.data(6, .5, fill_color=custom_color),
            charts.data(7, -.6, fill_color=custom_color)
    )
    barchart_2 = charts.BarChart(vertical=True, data=barchart_data_2, width=0.75, color=(0, 0, 0))
    coordinate_system.add(barchart_2)

    return coordinate_system.draw(400, 250), coordinate_system.draw(400, 250, antialiasing=True),