首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在matplotlib-basemap中绘制颜色编码标记

在matplotlib-basemap中绘制颜色编码标记
EN

Stack Overflow用户
提问于 2015-03-19 14:02:21
回答 1查看 7.4K关注 0票数 2

我有以下变量,我想在地图上绘制:Lons,经度列表,Lats,纬度列表和Vals,每个位置的值列表。

为了画出地点,我做了一个简单的

代码语言:javascript
复制
x,y=Mymap(Lons,Lats)
Mymap.scatter(x,y,marker='o',color='red')

Q:如何最好地将转换为要传递给scatter的颜色列表(热图),以便每个x,y对都能得到与颜色匹配的值?

基本地图文档是相当缺乏的,并且没有一个例子适合我的目的。

我可能可以遍历我的整个LatsLonsVals,但是考虑到基本地图的速度有多慢,我宁愿避免这样做。我已经画了大约800张地图,把地图增加到100万可能需要几年的时间。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-19 15:15:45

基地地图散布文件简单地引用了pyplot.scatter文档,在这里您可以找到参数c (强调pyplot.scatter文档):

c:颜色或颜色序列,可选,默认 c可以是单个颜色格式字符串,也可以是长度为N、的颜色规格序列,也可以是使用kwargs指定的cmap和范数映射到的N个数字序列(参见下文)。请注意,c不应该是单个数字RGB或RGBA序列,因为这与要重叠的值数组是无法区分的。C可以是一个二维数组,其中行是RGB或RGBA .

因此,如果简单地将vals传递给c,matplotlib应该在标准颜色映射或选择色图上将值转换为颜色。要显示映射到什么值的颜色,可以使用彩色棒

示例代码:

代码语言:javascript
复制
import matplotlib.pyplot as plt

lons = range(50)
lats = range(25, 75)
vals = range(50,100)

plt.scatter(lons, lats, c=vals, cmap='afmhot')
plt.colorbar()
plt.show()
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29146662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档