我正在使用底图在地图上绘制一些点,我想为它添加任何类型的动画.它根本没有任何用处,只要它是动画就会很好.
这就是我目前制作地图所需要的,
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.animation as animation
map = Basemap(projection='robin', resolution = 'l', area_thresh = 1000.0,
lat_0=0, lon_0=-130)
map.drawcoastlines()
map.drawcountries()
map.fillcontinents(color = 'gray')
map.drawmapboundary()
map.drawmeridians(np.arange(0, 360, 30))
map.drawparallels(np.arange(-90, 90, 30))
x,y = map(lons, lats)
map.plot(x, y, 'ro', markersize=4)
plt.show()
Run Code Online (Sandbox Code Playgroud) 我使用带有mpl_toolkits底图的Spyder IDE编写了一个脚本,将GPS轨迹绘制为速度着色方向的箭头.一切正常,直到我将熊猫升级到0.13.数据是这样的:
lon lat bearing speed m/s
2014-01-20 16:26:00 -170.681264 -14.290060 NaN NaN
2014-01-20 16:27:00 -170.681259 -14.290074 163.753636 0.026727
2014-01-20 16:28:00 -170.681259 -14.290074 180.000000 0.001172
2014-01-20 16:29:00 -170.681259 -14.290077 180.000000 0.004981
Run Code Online (Sandbox Code Playgroud)
ll = [-14.294238,-170.683732]
ur = [-14.286362, -170.673260]
gMap = Basemap(projection='merc', resolution='f',
llcrnrlon=ll[1], llcrnrlat=ll[0],
urcrnrlon=ur[1], urcrnrlat=ur[0],ax=ax)
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试运行此行时:
gMap.quiver(AllPoints['lon'],AllPoints['lat'],sin(radians(AllPoints['bearing'])),cos(radians(AllPoints['bearing'])),latlon=True,color=Points['speed m/s'].values,scale=40,cmap=plt.cm.rainbow)
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Traceback (most recent call last):
File "", line 1, in
File "C:\Python27\lib\site-packages\mpl_toolkits\basemap\__init__.py", line 559, in with_transform
x, y = self(x,y)
File "C:\Python27\lib\site-packages\mpl_toolkits\basemap\__init__.py", line 1148, in __call__
xout,yout = self.projtran(x,y,inverse=inverse)
File … 我有使用matplotlib底图在python中绘制的二维字段.字段的值从0到1000不等.是否可以创建具有固定渐变和颜色的手动色彩图?它应该看起来像:
对于值 - 设置颜色
我是python的新手.所以,欢迎任何建议.
我有一个包含全球海面温度的netcdf文件.使用matplotlib和Basemap,我已设法使用以下代码制作此数据的映射:
from netCDF4 import Dataset
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
filename = '/Users/Nick/Desktop/SST/SST.nc'
fh = Dataset(filename, mode='r')
lons = fh.variables['LON'][:]
lats = fh.variables['LAT'][:]
sst = fh.variables['SST'][:].squeeze()
fig = plt.figure()
m = Basemap(projection='merc', llcrnrlon=80.,llcrnrlat=-25.,urcrnrlon=150.,urcrnrlat=25.,lon_0=115., lat_0=0., resolution='l')
lon, lat = np.meshgrid(lons, lats)
xi, yi = m(lon, lat)
cs = m.pcolormesh(xi,yi,sst, vmin=18, vmax=32)
m.drawmapboundary(fill_color='0.3')
m.fillcontinents(color='0.3', lake_color='0.3')
cbar = m.colorbar(cs, location='bottom', pad="10%", ticks=[18., 20., 22., 24., 26., 28., 30., 32.])
cbar.set_label('January SST (' + u'\u00b0' + 'C)') …Run Code Online (Sandbox Code Playgroud) 是否可以旋转子午线标签以使它们不再重叠?有关下面的示例,请参见图像.我不想减少子午线的数量.
我试过了:
ax = plt.gca()
ax.set_xticklabels( meridians, rotation=45 )
Run Code Online (Sandbox Code Playgroud)
但是这在底图中没有做任何事情.

我的基于Leaflet和AngularJS的地图未正确加载.我不知道发生了什么,但是地图图块并没有像它们应该的那样布局.
这是基本地图:
这是我的代码:
function setMapPosition(){
$scope.center = {
lat: 51.505,
lng: -0.09,
zoom: 8
};
$scope.defaults= {
scrollWheelZoom: false
};
$scope.tiles = 'openstreetmap';
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Basemap 制作热/强度图。我的输入是当时的一组纬度、经度和强度。数据集如下所示:
lat[0], lon[0] = intensity[0]
lat[1], lon[1] = intensity[1]
...
lat[n], lon[n] = intensity[n]
Run Code Online (Sandbox Code Playgroud)
在每个索引处,纬度和经度对应于正确的传感器读数。我的代码看起来像这样:
fig = plt.figure(figsize=(10, 8))
# Set title
fig.suptitle("Intensities {} {}".format(start_time, stop_time))
# US Centered Map
map_axis = fig.add_subplot(111)
map = Basemap(
ax = map_axis,
lat_0 = 40, lon_0 = -95,
width = 6500e3, height = 6500e3,
projection = 'stere',
resolution = 'l'
)
map.drawcoastlines()
lats = ...
lons = ...
intn = ...
# Convert coordinates
lons, lats = map(lons, lats)
LONS, LATS …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用底图在背景上绘制散点图。但这覆盖了背景。如何保留背景?
我正在使用此代码
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
m = Basemap(projection='merc',llcrnrlat=-80,urcrnrlat=80,llcrnrlon=-180,urcrnrlon=180,lat_ts=20,resolution='c')
m.bluemarble()
x, y = m(list(longitude), list(latitude))
plt.scatter(x,y,1,marker='o',color='Red')
plt.show()
Run Code Online (Sandbox Code Playgroud)
但是,一旦我运行散点图,它就会覆盖背景图像。如何将散点图覆盖在图像上。
我正在尝试在我的 Anaconda 环境中安装底图模块。当我尝试这样做时,会出现以下消息。
UnsatisfiableError: 发现以下规范存在冲突: - 底图 - zict 使用“conda info”查看每个包的依赖关系。
我无法删除“zict”包。有什么办法可以以另一种方式安装底图包吗?
非常感谢!
python ×6
matplotlib ×5
anaconda ×1
angularjs ×1
axis-labels ×1
colormap ×1
javascript ×1
label ×1
leaflet ×1
numpy ×1
overlay ×1
package ×1
plot ×1
python-3.3 ×1
python-3.x ×1