python - Python - 绘制线性百分比图
问题描述
我有这个 numpy 数组:
[
[ 0 0 0 0 0 0 2 0 2 0 0 1 26 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 4]
[21477 61607 21999 17913 22470 32390 11987 41977 81676 20668 17997 15278 46281 19884]
[ 5059 13248 5498 3866 2144 6161 2361 8734 16914 3724 4614 3607 11305 2880]
[ 282 1580 324 595 218 525 150 942 187 232 430 343 524 189]
[ 1317 6416 1559 882 599 2520 525 2560 19197 729 1391 1727 2044 1198]
]
我刚刚创建了按预期工作的对数热图。但是,我想创建另一个表示跨行线性比例的热图,并显示矩阵中的每个位置对应的百分比值,而行的总和将给出 100%。不使用 seaborn 或 pandas 是这样的:
解决方案
干得好:
import matplotlib.pyplot as plt
import numpy as np
a = np.array([[0,0,0,0,0,0,2,0,2,0,0,1,26,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,4],
[21477,61607,21999,17913,22470,32390,11987,41977,81676,20668,17997,15278,46281,19884],
[5059,13248,5498,3866,2144,6161,2361,8734,16914,3724,4614,3607,11305,2880],
[282,1580,324,595,218,525,150,942,187,232,430,343,524,189],
[1317,6416,1559,882,599,2520,525,2560,19197,729,1391,1727,2044,1198]])
# normalize
normalized_a = a/np.sum(a,axis=1)[:,None]
# plot
plt.imshow(normalized_a)
plt.show()
推荐阅读
- embedded - 执行 8051 的特定时间段
- javascript - 在前端存储 JWT 令牌
- node.js - 如何在 node-postgres 中构造 IF 语句?
- html - 如何使用 HTML 和 CSS 实现立方体效果
- puppeteer - Puppeteer 不会进入多页表单的下一页
- java - Maven 重新导入设置语言级别
- python - 深度优先搜索以在 Python 中通过字符串查找元组
- reactjs - 如何在 mui-datatables 中默认取消选择 selectableRows 中的复选框(当没有数据行时)?
- firebase - React Native base64 图像上传到 Firebase 存储
- c# - 如何从解决方案中删除任何动态创建的文件?