加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – matplotlib:二进制热图

发布时间:2020-12-20 11:40:38 所属栏目:Python 来源:网络整理
导读:假设我有一个10×10矩阵,它包含或仅为0和1,表示为列表列表.我如何使用matplotlib来表示这样的矩阵作为红色和黑色方块的网格? (红色表示1,黑色表示0). 我已经进行了广泛的搜索,但是我能找到的最接近的是 Plot a black-and-white binary map in matplotlib ,
假设我有一个10×10矩阵,它包含或仅为0和1,表示为列表列表.我如何使用matplotlib来表示这样的矩阵作为红色和黑色方块的网格? (红色表示1,黑色表示0).

我已经进行了广泛的搜索,但是我能找到的最接近的是Plot a black-and-white binary map in matplotlib,但是颜色的浮点数小于1.一旦我得到1的数据,情节就会出错.有人可以帮忙吗?或者指向特定的matplotlib文档,它可以帮助我克服这个问题?

解决方法

你需要所谓的ListedColorMap:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl

# random data
x = np.random.random_integers(0,1,(10,10))

fig,ax = plt.subplots()

# define the colors
cmap = mpl.colors.ListedColormap(['r','k'])

# create a normalize object the describes the limits of
# each color
bounds = [0.,0.5,1.]
norm = mpl.colors.BoundaryNorm(bounds,cmap.N)

# plot it
ax.imshow(x,interpolation='none',cmap=cmap,norm=norm)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读