Python Plotting Combine 2 Plots - PullRequest
       9

Python Plotting Combine 2 Plots

0 голосов
/ 08 апреля 2020

Я пытаюсь построить линии тока в matplotlib по контурной диаграмме, комбинируя эти два графика, показанные ниже, но сначала показывая мой код:

ax = plt.axes(projection=ccrs.PlateCarree())
ax.coastlines(lw=1)
clevs = np.linspace(-3., 3., 13)
cnplot = plt.contourf(lon,lat,anomspeed,clevs,add_labels=True,cmap='jet')
cbar = plt.colorbar(cnplot)
cbar.set_label('Standard Deviations')
plt.title('~50m Wind Speed Anomaly {} 2020'.format(calendar.month_name[currm-1]))
diffu = (uwndc - uwnd);  diffv = (vwndc - vwnd)
lonn, latt = np.meshgrid(lon, lat)
plt.streamplot(lonn[0,:], latt[:,0], diffu, diffv, density=(3.5,3.5), 
color='k',linewidth=0.4,arrowsize=0.6)#x,y 1D and u,v are 2D

enter image description here

Я получаю эту ошибку (показана полная трассировка), когда я пытаюсь запустить код, показанный ниже, но я не понимаю ошибку 'ravel'. Я предполагаю, что это как-то связано с совпадающими координатами или связанными между двумя графиками ..? спасибо за любую помощь!

Traceback (most recent call last):

File "C:\Users\U321103\.spyder- 
py3\MonthlyReport_mapsNCEP_contour_monthly_wspdv2.py", line 85, in <module>
plt.streamplot(lonn[0,:], latt[:,0], diffu, diffv, density=(3.5,3.5), 
color='k',linewidth=0.4,arrowsize=0.6)

File "C:\Users\U321103\AppData\Local\Continuum\anaconda3\envs\Maps\lib\site- 
packages\matplotlib\pyplot.py", line 2906, in streamplot
if data is not None else {}))

File "C:\Users\U321103\AppData\Local\Continuum\anaconda3\envs\Maps\lib\site- 
packages\cartopy\mpl\geoaxes.py", line 1897, in streamplot
target_extent=target_extent)

File "C:\Users\U321103\AppData\Local\Continuum\anaconda3\envs\Maps\lib\site- 
packages\cartopy\vector_transform.py", line 146, in vector_scalar_to_grid
return _interpolate_to_grid(nx, ny, x, y, u, v, *scalars, **kwargs)

File "C:\Users\U321103\AppData\Local\Continuum\anaconda3\envs\Maps\lib\site- 
packages\cartopy\vector_transform.py", line 67, in _interpolate_to_grid
s_grid_tuple += (griddata(points, s.ravel(), (x_grid, y_grid),

AttributeError: 'Variable' object has no attribute 'ravel'

enter image description here

...