【发布时间】:2019-03-23 15:58:48
【问题描述】:
我想生成两个混淆矩阵并且只显示一个颜色条。我基本上是在尝试将this scikit-learn code 与this answer 合并。
我的代码如下所示:
import numpy as np
import matplotlib.pyplot as plt
fig, axes = plt.subplots(nrows=1, ncols=2)
classes = ["A", "B"]
for i, ax in enumerate(axes.flat):
cm = np.random.random((2,2))
im = ax.imshow(cm, vmin=0, vmax=1)
plt.title("Title {}".format(i))
tick_marks = np.arange(2)
plt.xticks(tick_marks, classes, rotation=45)
plt.yticks(tick_marks, classes)
for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):
plt.text(j, i, format(cm[i, j], '.5f'),
horizontalalignment="center",
color="white")
plt.ylabel('True label')
plt.xlabel('Predicted label')
plt.tight_layout()
fig.subplots_adjust(right=0.8)
cbar_ax = fig.add_axes([0.88, 0.15, 0.05, 0.6])
fig.colorbar(im, cax=cbar_ax)
plt.show()
所以一切都被绘制在最后一张图像上。 两个问题:
- 如何将两者分开?
- 如何从矩阵开始的颜色栏开始,即使它没有标签?
【问题讨论】:
-
这可能会回答您的第二点 - stackoverflow.com/questions/18195758/…
-
在您链接到的问题的this answer 中,显示了一个解决方案。
标签: python python-3.x matplotlib scikit-learn