python绘制封闭多边形教程

python绘制封闭多边形教程,第1张

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:windowsfontssimsun.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://54852.com/zaji/3236851.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-10-04
下一篇2022-10-04

发表评论

登录后才能评论

评论列表(0条)

    保存