首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在matplotlib中绘制不均匀的颜色条

如何在matplotlib中绘制不均匀的颜色条
EN

Stack Overflow用户
提问于 2019-10-11 19:51:50
回答 2查看 444关注 0票数 1

尝试了中档和列出的色彩映射,但不知道如何将前面的0-20转换成统一的多色(图片显示缩写,请不要介意),不知道如何绘制效果的图片!!帮助

EN

回答 2

Stack Overflow用户

发布于 2019-10-11 20:21:37

我觉得你应该用

代码语言:javascript
复制
MyCmap=colors.LinearSegmentedColormap.from_list("", list(zip(lvals,cvals)))

就像在这个solution中一样(即使它是对数刻度)。请看已接受答案的末尾。

票数 0
EN

Stack Overflow用户

发布于 2019-10-11 20:22:33

在这种情况下,使用BoundaryNormListedColormap是有意义的。为色彩映射表的N颜色定义N+1边界,并在colorbar调用中使用spacing="proportional"

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import BoundaryNorm, ListedColormap

cmap = ListedColormap(["black", "darkred", "crimson", "salmon", "navy", "violet", "yellow"])
bounds = [0,1,2,3,4,10,20,30]
norm = BoundaryNorm(bounds, cmap.N)

fig, ax = plt.subplots()
sc = ax.scatter(*np.random.rand(2,100), c=np.random.rand(100)*30, cmap=cmap, norm=norm)
fig.colorbar(sc, orientation="horizontal", spacing="proportional")

plt.show()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58340718

复制
相关文章

相似问题

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