def draw_graph(graph_instance, map_coloring = None):
if (graph_instance.space_description is None):<EOL><INDENT>raise NameError("<STR_LIT>");<EOL><DEDENT>if (map_coloring is not None):<EOL><INDENT>if (len(graph_instance) != len(map_coloring)):<EOL><INDENT>raise NameError("<STR_LIT>");<EOL><DEDENT><DEDENT>fig = plt.figure();<EOL>axes = fig.add_subplot(<NUM_LIT>);<EOL>available_colors = ['<STR_LIT>', '<STR_LIT>', '<STR_LIT>',<EOL>'<STR_LIT>', '<STR_LIT>', '<STR_LIT>',<EOL>'<STR_LIT>', '<STR_LIT>', '<STR_LIT>',<EOL>'<STR_LIT>', '<STR_LIT>', '<STR_LIT>',<EOL>'<STR_LIT>', '<STR_LIT>', '<STR_LIT>',<EOL>'<STR_LIT>', '<STR_LIT>', '<STR_LIT>',<EOL>'<STR_LIT>', '<STR_LIT>'];<EOL>if (map_coloring is not None):<EOL><INDENT>if (len(map_coloring) > len(available_colors)):<EOL><INDENT>raise NameError('<STR_LIT>');<EOL><DEDENT><DEDENT>x_maximum = -float('<STR_LIT>');<EOL>x_minimum = float('<STR_LIT>');<EOL>y_maximum = -float('<STR_LIT>');<EOL>y_minimum = float('<STR_LIT>');<EOL>for i in range(<NUM_LIT:0>, len(graph_instance.space_description), <NUM_LIT:1>):<EOL><INDENT>if (graph_instance.type_graph_descr == type_graph_descr.GRAPH_MATRIX_DESCR):<EOL><INDENT>for j in range(i, len(graph_instance.space_description), <NUM_LIT:1>):    <EOL><INDENT>if (graph_instance.data[i][j] == <NUM_LIT:1>):<EOL><INDENT>axes.plot([graph_instance.space_description[i][<NUM_LIT:0>], graph_instance.space_description[j][<NUM_LIT:0>]], [graph_instance.space_description[i][<NUM_LIT:1>], graph_instance.space_description[j][<NUM_LIT:1>]], '<STR_LIT>', linewidth = <NUM_LIT>);<EOL><DEDENT><DEDENT><DEDENT>elif (graph_instance.type_graph_descr == type_graph_descr.GRAPH_VECTOR_DESCR):<EOL><INDENT>for j in graph_instance.data[i]:<EOL><INDENT>if (i > j):     <EOL><INDENT>axes.plot([graph_instance.space_description[i][<NUM_LIT:0>], graph_instance.space_description[j][<NUM_LIT:0>]], [graph_instance.space_description[i][<NUM_LIT:1>], graph_instance.space_description[j][<NUM_LIT:1>]], '<STR_LIT>', linewidth = <NUM_LIT>);   <EOL><DEDENT><DEDENT><DEDENT>color_node = '<STR_LIT:b>';<EOL>if (map_coloring is not None):<EOL><INDENT>color_node = colors.hex2color(available_colors[map_coloring[i]]);<EOL><DEDENT>axes.plot(graph_instance.space_description[i][<NUM_LIT:0>], graph_instance.space_description[i][<NUM_LIT:1>], color = color_node, marker = '<STR_LIT:o>', markersize = <NUM_LIT:20>);<EOL>if (x_maximum < graph_instance.space_description[i][<NUM_LIT:0>]): x_maximum = graph_instance.space_description[i][<NUM_LIT:0>];<EOL>if (x_minimum > graph_instance.space_description[i][<NUM_LIT:0>]): x_minimum = graph_instance.space_description[i][<NUM_LIT:0>];  <EOL>if (y_maximum < graph_instance.space_description[i][<NUM_LIT:1>]): y_maximum = graph_instance.space_description[i][<NUM_LIT:1>]; <EOL>if (y_minimum > graph_instance.space_description[i][<NUM_LIT:1>]): y_minimum = graph_instance.space_description[i][<NUM_LIT:1>];<EOL><DEDENT>plt.xlim(x_minimum - <NUM_LIT:0.5>, x_maximum + <NUM_LIT:0.5>);<EOL>plt.ylim(y_minimum - <NUM_LIT:0.5>, y_maximum + <NUM_LIT:0.5>);<EOL>plt.show()<EOL>
!
    @brief Draw graph.

    @param[in] graph_instance (graph): Graph that should be drawn.
    @param[in] map_coloring (list): List of color indexes for each vertex. Size of this list should be equal to size of graph (number of vertices).
                                    If it's not specified (None) than graph without coloring will be dwarn.

    @warning Graph can be represented if there is space representation for it.