相关疑难解决方法(0)

使用matplotlib创建自己的色彩图并绘制色标

我有以下问题,我想创建我自己的色彩映射(红色混合紫色混合蓝色),映射到-2和+2之间的值,并希望用它来绘制我的情节中的点.然后该图应该具有右侧的色阶.

这就是我到目前为止创建地图的方式.但我不确定它是否混合颜色.

cmap = matplotlib.colors.ListedColormap(["red","violet","blue"], name='from_list', N=None)
m = cm.ScalarMappable(norm=norm, cmap=cmap)
Run Code Online (Sandbox Code Playgroud)


这样我就将颜色映射到值.

colors = itertools.cycle([m.to_rgba(1.22), ..])
Run Code Online (Sandbox Code Playgroud)


然后我绘制它:

for i in range(0, len(array_dg)):
  plt.plot(array_dg[i], markers.next(),alpha=alpha[i], c=colors.next())
Run Code Online (Sandbox Code Playgroud)


我的问题是:
1.我无法绘制色标.
2.我不完全确定我的刻度是否会产生连续(平滑)的色阶.

python plot matplotlib

53
推荐指数
3
解决办法
8万
查看次数

带有彩色箭袋的色彩图

我正在绘制一张地图,上面有箭头。这些箭头代表风向、平均风速(每个方向)和发生情况(每个方向)。

方向由箭头的方向指示。箭头的长度表示该方向的平均风速。箭头的颜色表示该方向有风。

这一切都可以与下面的脚本配合使用:

windData = pd.read_csv(src+'.txt'), sep='\t', names=['lat', 'lon', 'wind_dir_start', 'wind_dir_end', 'total_num_data_points','num_data_points', 'avg_windspeed']).dropna()

# plot map
m = Basemap(llcrnrlon=minLon, llcrnrlat=minLat, urcrnrlon=maxLon, urcrnrlat=maxLat, resolution='i')
Left, Bottom = m(minLon, minLat)
Right, Top = m(maxLon, maxLat)

# get x y
x, y = m(windData['lon'], windData['lat'])

# angles
angleStart = -windData['wind_start']+90
angleStart[angleStart<0] = np.radians(angleStart[angleStart<0]+360.)

angleEnd = -windData['wind_end']+90
angleEnd[angleEnd<0] = np.radians(angleEnd[angleEnd<0]+360.)

angle = angleStart + math.radians(binSize/2.)

xux = np.cos(angle) * windData['avg_windspeed']
yuy = np.sin(angle) * windData['avg_windspeed']

# occurence
occurence = (windData['num_data_points']/windData['total_num_data_points'])

xi = np.linspace(minLon, maxLon, …
Run Code Online (Sandbox Code Playgroud)

python matplotlib matplotlib-basemap

5
推荐指数
2
解决办法
2万
查看次数

标签 统计

matplotlib ×2

python ×2

matplotlib-basemap ×1

plot ×1