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