您的位置:首页 > 编程语言 > Python开发

python绘制封闭多边形教程

2020-03-11 17:50 2391 查看

数据格式:(polygon.txt) 里面含有2个多边形,一行是一个点

0.085, 0.834,
0.024, 0.744,
0, 0.63,
0.024, 0.516,
0.085, 0.427,
0.5, 0.02,
0.675, 0.191,
0.795, 0.071,
0.815, 0.052,
0.835, 0.032,
0.84, 0.026,
0.844, 0.022,
0.856, 0.012,
0.871, 0.005,
0.886, 0.001,
0.903, 0,

0.823, 0.061,
0.823, 0.062,
0.826, 0.061,

import pylab as py
import time
from pylab import *
from matplotlib.font_manager import FontProperties
import matplotlib.pyplot as plt
font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14)
def readdata(ls):
l = ls.split(',')
if len(l)>2:
return [l[0],l[1]]
else:
return None

if "__main__"==__name__:
print(9)
file_obj=open('fanmaker.txt')
k=0
line=file_obj.readline()
polygon =[]
while line:
k+=1
px=[]
py=[]
while line:
row = readdata(line)
print (line)
px.append(row[0])
py.append(row[1])
line=file_obj.readline()
if line=='\n':
ps=[]
px.append(px[0])
py.append(py[0])
ps.append(px)
ps.append(py)
polygon.append(ps)
line=file_obj.readline()
break
x=np.array(polygon[0][0])
y=np.array(polygon[0][1])
##  plt.fill(x,y,'b')
plt.plot(x,y,'b-', linewidth=2)
for i in range(len(polygon)-1):
x=np.array(polygon[i+1][0])
y=np.array(polygon[i+1][1])
##    plt.fill(x,y,'b')
plt.plot(x,y,'r-', linewidth=2)
plt.hold(True)
##  plt.show()

x1=[-0.5 ,1.5]
x2=[-0.5,-0.5]
x3=[1.5 ,-0.5]
x4=[1.5,1.5]
plt.plot(x1,x2,'-')
plt.plot(x2,x3,'-')
plt.plot(x3,x4,'-')
plt.plot(x4,x1,'-')
plt.axis([-0.5,1.5 ,-0.5,1.5])
plt.show()
#   plt.axis('tight')
file_obj.close()

以上这篇python绘制封闭多边形教程就是小编分享给大家的全部内容了,希望能给大家一个参考

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 绘制 多边形