python - 如何在python中获取多个直方图的颜色图?
问题描述
我有 10 个网络实现了网络分解算法中某些子结构的出现次数。我正在考虑 10 个最重要的网络,因此每个列表中有 10 个条目,其中每个列表都是网络的实现。基本上我有一个列表列表:
full_l2 = [[1, 1, 1, 1, 1, 1, 1, 1, 3, 1],
[1, 1, 1, 1, 1, 2, 2, 2, 1, 1],
[1, 1, 1, 1, 1, 2, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 3, 1, 1, 2, 2],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 3, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 2, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 2, 1]]
列表中的数字表示子结构的数量,每个列表的网络按重要性降序排列。所以我用:
occ = []
for i in range(10):
a = list(zip(*full_l2))[i]
occ.append(a)
获得第 1 个、第 2 个等直到第 10 个重要网络。现在出现的情况如下:
occ = [(1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
(1, 1, 1, 1, 1, 1, 1, 3, 1, 1),
(1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
(1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
(1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
(1, 2, 2, 1, 3, 1, 1, 1, 1, 1),
(1, 2, 1, 1, 1, 1, 1, 1, 2, 1),
(1, 2, 1, 1, 1, 1, 1, 1, 1, 1),
(3, 1, 1, 1, 2, 1, 1, 1, 1, 2),
(1, 1, 1, 1, 2, 1, 1, 1, 1, 1)]
因此,我绘制了出现次数的直方图。我只展示了 10 个实现,以便列表更容易理解,但我想为 1000 个实现。我刚刚使用:
plt.hist(occ)
plt.yscale(log)
我得到这样的情节:
但我需要将它作为颜色图。我尝试使用:
cm = plt.cm.get_cmap('jet')
并喜欢这里的答案:使用取自颜色图的颜色绘制直方图
但它有一个问题:
ValueError: color kwarg must have one color per dataset
我需要它看起来像:
有谁知道我是否遗漏了什么?
解决方案
推荐阅读
- c++ - 无法编译 unordered_set 包含来自 cppreference.com 的函数
- javascript - 最大 Google 云端硬盘修订 ID?
- java - 如何在Java类中封装一个startActivityForResult并获取调用该方法的Activity上的onActivityResult
- reactjs - 在反应应用程序中动态配置存储桶路径的最佳方法是什么
- c# - 使用 asp.net 添加带有选择值的 N:M 表
- android - com.google.android.location.ALARM_WAKEUP_ACTIVITY_DETECTION 以高音量触发
- java - SimpleDateFormat 无法创建临时文件
- python-3.x - 系统错误:
- ios - 我在 Swift 10.2 上运行我的自编码应用程序时遇到问题
- ruby-on-rails - 旧版 Rails 应用程序尝试在 docker 容器中预编译资产时失败