|  | @@ -119,6 +119,8 @@ class Graph:
 | 
	
		
			
				|  |  |          '''
 | 
	
		
			
				|  |  |          x,y - смещение построения графа, если координаты вершин не заданы
 | 
	
		
			
				|  |  |          '''
 | 
	
		
			
				|  |  | +        fig, ax = plt.subplots()
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          if not isinstance(self.verticles[0], verticle):
 | 
	
		
			
				|  |  |              print("Перепись " + "="*32)
 | 
	
		
			
				|  |  |              space = np.linspace(0, 2*np.pi, len(self.verticles)+1)[:-1]
 | 
	
	
		
			
				|  | @@ -131,15 +133,21 @@ class Graph:
 | 
	
		
			
				|  |  |          for i,row in enumerate(self.matrix):
 | 
	
		
			
				|  |  |              for j,elem in enumerate(row):
 | 
	
		
			
				|  |  |                  if elem == 0: continue
 | 
	
		
			
				|  |  | -                print(i, j ,elem)
 | 
	
		
			
				|  |  | -                print(self.verticles[i].x, self.verticles[i].y, self.verticles[j].x, self.verticles[j].y)
 | 
	
		
			
				|  |  | -                plt.arrow(self.verticles[i].x, self.verticles[i].y, 
 | 
	
		
			
				|  |  | -                          (self.verticles[j].x-self.verticles[i].x)*0.93, (self.verticles[j].y-self.verticles[i].y)*0.93, 
 | 
	
		
			
				|  |  | -                          head_width=0.035, head_length=0.035, arrowstyle='->')
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        print(self.verticles)
 | 
	
		
			
				|  |  | -        x = [v.x for v in self.verticles]
 | 
	
		
			
				|  |  | -        y = [v.y for v in self.verticles]
 | 
	
		
			
				|  |  | +                arrow = FancyArrowPatch((self.verticles[i].x, self.verticles[i].y),
 | 
	
		
			
				|  |  | +                                             (self.verticles[j].x, self.verticles[j].y),
 | 
	
		
			
				|  |  | +                                             connectionstyle="arc3,rad=.05", arrowstyle='->', mutation_scale=30)
 | 
	
		
			
				|  |  | +                ax.add_patch(arrow)
 | 
	
		
			
				|  |  | +                va = 'bottom' if j >= i else 'top'
 | 
	
		
			
				|  |  | +                aligment = 'left' if j >= i else 'right'
 | 
	
		
			
				|  |  | +                ax.annotate(str(elem), (.5, .5), xycoords=arrow, ha='center', 
 | 
	
		
			
				|  |  | +                            va=va, horizontalalignment=aligment, size=20)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        x = []
 | 
	
		
			
				|  |  | +        y = []
 | 
	
		
			
				|  |  | +        for v in self.verticles:
 | 
	
		
			
				|  |  | +            x.append(v.x)
 | 
	
		
			
				|  |  | +            y.append(v.y)
 | 
	
		
			
				|  |  | +            v.plot()
 | 
	
		
			
				|  |  |          plt.scatter(x,y, c='red', zorder=1)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -179,11 +187,11 @@ if __name__ == "__main__":
 | 
	
		
			
				|  |  |      # print("Invert G1:",~g)
 | 
	
		
			
				|  |  |      # g.plot(1, 1)
 | 
	
		
			
				|  |  |      # h.plot(3.2, 1)
 | 
	
		
			
				|  |  | -    g = Graph.build([[0, 1, 1, 1, 1],
 | 
	
		
			
				|  |  | -               [1, 0, 1, 1, 1],
 | 
	
		
			
				|  |  | -               [1, 1, 0, 1, 1],
 | 
	
		
			
				|  |  | -               [1, 1, 1, 0, 1],
 | 
	
		
			
				|  |  | -               [1, 1, 1, 1, 0]])
 | 
	
		
			
				|  |  | +    g = Graph.build([[0, 1, 0, 1, 1],
 | 
	
		
			
				|  |  | +                     [1, 0, 0, 0, 1],
 | 
	
		
			
				|  |  | +                     [1, 0, 0, 0, 0],
 | 
	
		
			
				|  |  | +                     [1, 0, 1, 0, 0],
 | 
	
		
			
				|  |  | +                     [1, 0, 1, 0, 0]])
 | 
	
		
			
				|  |  |      g.plot()
 | 
	
		
			
				|  |  |      print(g)
 | 
	
		
			
				|  |  |      plt.show()
 |