diff --git a/utility/python/illustration.py b/utility/python/illustration.py new file mode 100644 index 0000000000000000000000000000000000000000..2558e0854ed26fd0a3008a75780b94774dc7857e --- /dev/null +++ b/utility/python/illustration.py @@ -0,0 +1,63 @@ +from bokeh.io import export_png +from bokeh.models import ColumnDataSource, LabelSet +from bokeh.plotting import figure, output_file, show + +plot = figure(title="", x_axis_label='', y_axis_label='', sizing_mode="scale_height") +plot.xgrid.grid_line_color = None +plot.ygrid.grid_line_color = None +plot.xaxis.major_tick_line_color = None +plot.xaxis.minor_tick_line_color = None +plot.xaxis.major_label_text_color = '#ffffff' +plot.xaxis.major_label_text_font_size = '0px' +plot.xaxis.axis_line_color = "#ffffff" +plot.yaxis.major_tick_line_color = None +plot.yaxis.minor_tick_line_color = None +plot.yaxis.major_label_text_color = '#ffffff' +plot.yaxis.major_label_text_font_size = '0px' +plot.yaxis.axis_line_color = "#ffffff" +plot.toolbar.logo = None +plot.toolbar_location = None + +rectangles = { + "x" : [0, 0, 0, 1, 1, 1, 2, 2, 2], + "y" : [0, 1, 2, 0, 1, 2, 0, 1, 2], + "color" : ["#ffffff", "#aaaaaa", "#ffffff", "#aaaaaa", "#aaaaaa", "#aaaaaa", "#ffffff", "#aaaaaa", "#ffffff"], + "text_color": ["#000000", "#000000", "#000000", "#000000", "#008800", "#000000", "#000000", "#000000", "#000000"], + "name" : ["P[-1,-1]", "P[-1,0]", "P[-1,1]", "P[0,-1]", "P[0,0]", "P[0,1]", "P[1,-1]", "P[1,0]", "P[1,1]"]} +lines = { + "x" : [-0.5, -0.5, 0.5, 0.5, 1.5, 1.5, 2.5, 2.5, 1.5, 1.5, 0.5, 0.5, -0.5], + "y" : [ 0.5, 1.5, 1.5, 2.5, 2.5, 1.5, 1.5, 0.5, 0.5, -0.5, -0.5, 0.5, 0.5]} +points = { + "x" : [ + -0.4, -0.2, + 0.6, 0.8, 1.0, 1.2, 1.4, + 1.6, 1.8, 2.0, 2.2, 2.4, 1.6, 1.8, 2.0, 2.2, 2.4, 1.6, 1.8, 2.0, 2.2, 2.4, + 0.6, 0.8, 1.0, 1.2, 1.4, + 0.6, 0.8], + "y" : [ + 1.4, 1.4, + 1.4, 1.4, 1.4, 1.4, 1.4, + 1.4, 1.4, 1.4, 1.4, 1.4, 1.2, 1.2, 1.2, 1.2, 1.2, 1.0, 1.0, 1.0, 1.0, 1.0, + 2.4, 2.4, 2.4, 2.4, 2.4, + 0.4, 0.4], + "color": [ + "#880000", "#880000", + "#008800", "#008800", "#008800", "#880000", "#008888", + "#000088", "#000088", "#000088", "#000088", "#000088", "#000088", "#000088", "#000088", "#000088", "#000088", "#008800", "#008800", "#008800", "#008800", "#008800", + "#880088", "#880088", "#880088", "#880088", "#880088", + "#008888", "#008888"] +} + +rectangle_source = ColumnDataSource(rectangles) +line_source = ColumnDataSource(lines ) +point_source = ColumnDataSource(points ) + +labels = LabelSet(x="x", y="y", text="name", text_align="center", text_color={'field': 'text_color'}, text_font="helvetica", text_font_size="16pt", x_offset=-70, y_offset=-100, source=rectangle_source, render_mode='canvas') +plot.rect (x="x", y="y", width=1, height=1, source=rectangle_source, fill_color={'field': 'color'}, line_color="#000000", line_alpha=1) +plot.line (x="x", y="y", source=line_source, line_color='#008800', line_width=4) +#plot.circle(x="x", y="y", source=point_source, fill_color={'field': 'color'}, size=32) +plot.add_layout(labels) + +output_file("illustration.html") +export_png (plot, filename="illustration.png") +show (plot)