我想在python的地图上绘制线条。但是,我想给线条上色,例如根据他们的高度。我知道如何熟练使用R中的颜色栏:
hig <- runif(10) #e.g. altitude above mean sea level
breaks <- seq(min(hig), max(hig),0.1)
colbar0 <- terrain.colors(length(breaks)-1)
colbar <- colbar0
plot_c<-NA*hig
for (b in 1:(length(breaks)-1) ){plot_c[breaks[b]<=hig & hig<=breaks[b+1]]<-colbar[b]}
我在python2.7中尝试了类似的方法:
import random
import numpy as np
import matplotlib.pyplot as plt
hig=np.zeros(10,float)
for x in range(10):
hig[x]= random.randint(1,21)*0.1
breaks = np.arange(min(hig), max(hig),0.1)
colbar0 = plt.get_cmap('jet',len(breaks)-1)
plot_c= np.nan*hig
for b in range(len(breaks)-1):
plot_c[np.where((breaks[b]<=hig) & (hig<=breaks[b+1]))]=colbar0[b]
最后一行给出错误“ TypeError:'LinearSegmentedColormap'对象不支持索引”