网络编程
位置:首页>> 网络编程>> Python编程>> python绘制封闭多边形教程

python绘制封闭多边形教程

作者:故常无-欲以观其妙  发布时间:2023-08-12 04:55:00 

标签:python,绘制,多边形

数据格式:(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绘制封闭多边形教程

来源:https://blog.csdn.net/justdoithai/article/details/51541936

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com