【问题标题】:Generate grid inside a given outline in form of coordinates以坐标形式在给定轮廓内生成网格
【发布时间】:2015-04-07 17:20:17
【问题描述】:

我想使用 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()

【问题讨论】:

  • 如果您可以添加示例数据集(您的文本文件),这将有助于获得答案。

标签: python numpy matplotlib scipy


【解决方案1】:

我已经使用了这些坐标(印度范围)

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()

【讨论】:

    猜你喜欢
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    • 2019-12-27
    • 2012-01-30
    • 1970-01-01
    • 1970-01-01
    • 2017-02-13
    • 2020-09-10
    相关资源
    最近更新 更多