以坐标的形式在给定轮廓内生成网格

时间:2015-04-07 17:20:17

标签: python numpy matplotlib scipy

我想使用matplotlib在印度地图内生成一个网格。我已经给出了一个由印度地图轮廓坐标组成的文件。我需要在轮廓内生成网格。我怎么能这样做这是我的代码:

#!usr/bin/env python
import matplotlib.pyplot as plt
import numpy as np
import itertools
f=open("New_Coordinate.txt",'r')
l1=[]
l2=[]
for row in f:
 temp=row.split()
 x=float(temp[0])
 y=float(temp[1])
 l1.append(x)
 l2.append(y)

f.close()
f2 = np.loadtxt('New_Coordinate.txt')
l1=np.array(l1)
l2=np.array(l2)
fig = plt.figure()
ax = fig.gca()
ax.set_xticks(l1)
ax.set_yticks(l2)
plt.plot(f2[:,:1],f2[:,1:],'ro')
plt.grid()
ax.set_xticklabels([])
ax.set_yticklabels([])
xticks = ax.get_xticks()
yticks = ax.get_yticks()
gridpoints = list( itertools.product(xticks, yticks) )
f1=open("gridpoints.txt",'w')
for i in gridpoints:
  f1.write(str(i))
  f1.write('\n')
plt.show()
f1.close()

1 个答案:

答案 0 :(得分:0)

我使用过这些坐标(印度的范围)

68.116667 97.416667
8.06667 37.1

f2 = np.loadtxt('coordinates.txt')
fig = plt.figure()
ax=fig.gca()
plt.plot(f2[:1, :], f2[1:,:], 'ro' )
plt.grid()
plt.show()

enter image description here