Я пытаюсь создать сюжет, который использует ту же самую цветовую гамму, что и Met Office, поэтому я могу легко сравнить свои сюжеты с их. Пример их есть на HereЦветовая шкала - близко, но недостаточно близко
Моих текущих ближайших усилий здесь: Here
Я ценю мой код грязный - я не мог найти способ, чтобы установить цвет для значений выше определенного порога (в противном случае он становится белым), следовательно, цикл.
Я бы загрузил файл NetCDF, но у меня нет достаточно высокой репутации для этого.
Многие, большое спасибо за любую помощь.
Мой код для построения рисунков показан ниже;
from Scientific.IO.NetCDF import NetCDFFile
from mpl_toolkits.basemap import Basemap
from matplotlib import pyplot as plt
import numpy as np
myfile = NetCDFFile('ERA_Dec_89-94.nc', 'r')
Lat = NetCDFFile('/home/james/Documents/Lat_Lon_NC_Files/latitudes_d02.nc','r')
Long = NetCDFFile('/home/james/Documents/Lat_Lon_NC_Files/longitudes_d02.nc','r')
XLAT = Lat.variables['XLAT'][:]
XLONG = Long.variables['XLONG'][:]
ERA_Data = myfile.variables['Monthlyrain'][:]
plot = np.zeros([1000,1730])
plot[:,:] = np.average(ERA_Data[:,:,:],axis=0)
m = Basemap(projection='merc',resolution='f',llcrnrlat=49,llcrnrlon=-11,urcrnrlat=61,urcrnrlon=3)
m.drawparallels(np.arange(-90., 91., 5.), labels=[1,0,0,0], fontsize=11)
m.drawmeridians(np.arange(-180., 181., 5.), labels=[0,0,0,1], fontsize=11)
m.drawcoastlines()
X, Y = m(XLONG, XLAT)
for i in range(0,1729):
for j in range(0,999):
if plot[j,i] >250:
plot[j,i] = 250.001
if plot[j,i] < 40:
plot[j,i] = 40
scale = [40,40.001,60,80,100,125,150,200,250, 250.001]
cs = m.contourf(X,Y,plot,scale, cmap='PuOr')
cbar = m.colorbar(cs, ticks= [40.0005,50,70,90,112.5,137.5,175,225,250.0005])
cbar.set_ticklabels(['<40','40-60', '60-80', '80-100', '100-125', '125-150', '150-200', '200-250', '>250'])
plt.title('Some Title')
cbar.set_label('Monthly average rainfall (mm)')
print "Finished"
plt.show()
В чем проблема? Вы хотите, чтобы цвета соответствовали более близко? Вы хотите ограничить рисование земли? Что-то еще, полностью? Чем более конкретны ваши вопросы, тем выше вероятность того, что у кого-то есть хороший ответ ... – kazemakase
Извините - два компонента, в которых мне нужна была помощь, были с цветами, чтобы они соответствовали более близким (я думаю, xnx ответил так, что я отдам это), и также как назначить цвет любому значению, превышающему пороговое значение (устраняя необходимость в цикле) –