
Graficas matplotlib embebido eb pyqt4, intersecciones, uniones, etc.
Publicado por marco (2 intervenciones) el 30/04/2018 15:31:38
Hola a todos. Que les vaya bien!
Como pueden ver tengo un programa hecho con python y matplotlib y pyqt4. Deseo hacer intersecciones, uniones, exclusiones y resta de conjuntos de puntos y luego rellenarlos con ax.fill(). Como voy a querer libewidth para todos estos eventos, intente quitarele los datos extermos pero volvia a aparecer la ralla del medio. Agradezco cualquier apoyo para quitar esta linea. Este es parte del codigo, es bien sencillo, como me gusta.

Como pueden ver tengo un programa hecho con python y matplotlib y pyqt4. Deseo hacer intersecciones, uniones, exclusiones y resta de conjuntos de puntos y luego rellenarlos con ax.fill(). Como voy a querer libewidth para todos estos eventos, intente quitarele los datos extermos pero volvia a aparecer la ralla del medio. Agradezco cualquier apoyo para quitar esta linea. Este es parte del codigo, es bien sencillo, como me gusta.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
def interseccion(self):
enunciado=self.resumen.text()
if 'circunsferencia' in enunciado:
x2,y2,x1,y1=self.xcirclista[-1],self.ycirclista[-1],self.xcirclista[-2],self.ycirclista[-2]
nx1,ny1,nx2,ny2=self.xcirclista[-1][100],self.ycirclista[-1][100],self.xcirclista[-2][100],self.ycirclista[-2][100]
mx1=0.5*(self.xcirclista[-1][100]+self.xcirclista[-1][0])
my1=0.5*(self.ycirclista[-1][100]+self.ycirclista[-1][0])
radio1=m.sqrt((self.xcirclista[-1][0]-mx1)**2+(self.ycirclista[-1][0]-my1)**2)
mx2=0.5*(self.xcirclista[-2][100]+self.xcirclista[-2][0])
my2=0.5*(self.ycirclista[-2][100]+self.ycirclista[-2][0])
radio2=m.sqrt((self.xcirclista[-2][0]-mx2)**2+(self.ycirclista[-2][0]-my2)**2)
d21=[m.sqrt((self.xcirclista[-2][i]-mx1)**2+(self.ycirclista[-2][i]-my1)**2) for i in range(len(self.xcirclista[-2]))]
d12=[m.sqrt((self.xcirclista[-1][i]-mx2)**2+(self.ycirclista[-1][i]-my2)**2) for i in range(len(self.xcirclista[-1]))]
self.xinter21=[]
self.yinter21=[]
self.puntos21=[]
for i in range(len(self.xcirclista[-1])-1):
if d21[i] <= radio1:
self.xinter21.append(self.xcirclista[-2][i])
self.yinter21.append(self.ycirclista[-2][i])
self.xinter12=[]
self.yinter12=[]
self.puntos12=[]
for i in range(len(self.xcirclista[-2])-1):
if d12[i] <= radio2:
self.xinter12.append(self.xcirclista[-1][i])
self.yinter12.append(self.ycirclista[-1][i])
self.ax.plot(self.xinter21,self.yinter21, 'blue', lw=3)
self.ax.plot(self.xinter12,self.yinter12, 'blue', lw=3)
self.ax2.plot(self.xinter21,self.yinter21, 'blue', lw=3)
self.ax2.plot(self.xinter12,self.yinter12, 'blue', lw=3)
# self.ax.fill(x,y, 'yellow')
self.canvas.draw()
self.canvas2.draw()

Valora esta pregunta


0