Python 绘制地图:箭头消失

Python 绘制地图:箭头消失,python,numpy,matplotlib,Python,Numpy,Matplotlib,下午好, 多亏了csv文件,我正试图在地图上绘制当前表面的数据。这是我的密码: import numpy as np import matplotlib.pyplot as plt import matplotlib.mlab as mlab from pylab import * # read CSV as a numpy array data = mlab.csv2rec('datasets/mix.csv') # print CSV file headers print data.d

下午好, 多亏了csv文件,我正试图在地图上绘制当前表面的数据。这是我的密码:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
from pylab import *


# read CSV as a numpy array
data = mlab.csv2rec('datasets/mix.csv')

# print CSV file headers
print data.dtype.names

# load columns as vectors
data_x = data['longitude']
data_y = data['latitude']
data_u = data['x']
data_v = data['y']

U = cos(data_u)
V = sin(data_v)


# plot raw data
Q = quiver(data_x, data_y, U, V, color='black', units='width')
qk = quiverkey(Q, 0.5, 0.92, 2, '.', labelpos='W',  
               fontproperties={'weight': 'bold'})
title('Current Surface')

plt.show()
对于csv文件的一小部分(300行),我的结果包含箭头:

但是,当我想为所有csv文件建模时,不再有箭头,而是点(结果如下所示): 上图放大显示没有箭头:

你知道这种行为吗?
问候。

在最后一张图像中,您有箭头,但它们太短,以至于您看不到“尾巴”。问题在于,在第二个绘图中,数据点太密集:quiver命令会自动缩放arrwo,使它们不会重叠。如果您随后放大(我猜您放大了窗口,而不是通过在脚本中选择较小的区域?),则不会重新计算此缩放

我建议只绘制大约每10个数据点(例如U[::10]),这应该会有所帮助。或者,使用“scale”关键字参数:


带有点的绘图显示的区域小得多,y轴为负值;您是否尝试过手动将轴限制设置为第一个绘图中的轴限制?第二个图应至少包含第一个图。为了显示点,随机选取地球图@即使我看不到箭头,也只看到点。点在我看来似乎有点拉长和歪斜,但不确定我是否看到它与许多乐观如何所有的绘图命令。。。可能是你先画箭头,然后画地图,至少imshow会给你一个不透明的图层,隐藏以前可能存在的东西。@deinonychusaur箭头后面没有地图,因为我正在画洋流表面,所有的数据都画大陆。我所有的代码都显示出来了。@So4ne:我误解了。我在你的问题中做了一些修改,这应该可以避免误解(你没有说图3是图2的缩放)。