现有.txt文件,包含若干个矩形,每一行为左上,右上,左下,右下坐标点,格式如:(10 10)(20 10)(10 20)(20 20),如何读入四个坐标显示,并绘制矩形框,请各位大神帮助,感激不尽!
import matplotlib.pyplot as plt
import re
def line2points(line):
xs=[]
ys=[]
line=line.strip()
line=re.sub(r' +',',',line)
points=eval(line)
points=list(points)
points.sort(key=lambda i:sum(i))
points[-2:]=points[-1:-3:-1]
points.append(points[0])
for x,y in points:
xs.append(x)
ys.append(y)
return xs,ys
with open('datafilename.txt','r') as f:
line=f.readline()
x,y=line2points(line)
plt.plot(x,y)
line=lf.readline()
plt.show()
先用pip install 安装 tkinter
import tkinter;
if __name__ == '__main__':
from tkinter import
root = Tk()
root.title('Canvas')
canvas = Canvas(root, width=400, height=400, bg='yellow')
x0 = 200
y0 = 200
y1 = 200
x1 = 200
for i in range(5):
canvas.create_rectangle(x0, y0, x1, y1)
canvas.create_oval(x0, y0, x1, y1)
x0 -= 10
y0 -= 10
x1 += 10
y1 += 10
canvas.pack()
root.mainloop()
这里是左上角右下角,换成你文本文件的即可