我正在编写一个脚本来根据它们的特征对图像进行分类:直方图,色彩平衡,关键点计数等。尽管我为显示图表而编写的功能运行良好:
fig,axes = plt.subplots(2,3,figsize=(15,7))
axes[0, 0].scatter((zip(*xy_a))[0], (zip(*xy_a))[1])
for i, txt in enumerate(xy_na): axes[0, 0].annotate(txt, ((zip(*xy_a))[0][i],(zip(*xy_a))[1][i]))
axes[0, 0].set_title("xy_a")
axes[0, 0].set_xlabel('Histogram')
axes[0, 0].set_ylabel('Average Pixel')
axes[1, 0].scatter(*zip(*xy_b))
for i, txt in enumerate(xy_na): axes[1, 0].annotate(txt, ((zip(*xy_b))[0][i],(zip(*xy_b))[1][i]))
axes[1, 0].set_title("xy_b")
axes[1, 0].set_xlabel('Average Pixel')
axes[1, 0].set_ylabel('Keypoint Number')
axes[0, 1].scatter(*zip(*xy_c))
for i, txt in enumerate(xy_na): axes[0, 1].annotate(txt, ((zip(*xy_c))[0][i],(zip(*xy_c))[1][i]))
axes[0, 1].set_title("xy_c")
axes[0, 1].set_xlabel('Keypoint Number')
axes[0, 1].set_ylabel('Histogram')
axes[1, 1].scatter(*zip(*xy_d))
for i, txt in enumerate(xy_na): axes[1, 1].annotate(txt, ((zip(*xy_d))[0][i],(zip(*xy_d))[1][i]))
axes[1, 1].set_title("xy_d")
axes[1, 1].set_xlabel('Dimentional Mean')
axes[1, 1].set_ylabel('Histogram')
axes[0, 2].scatter(*zip(*xy_e))
for i, txt in enumerate(xy_na): axes[0, 2].annotate(txt, ((zip(*xy_e))[0][i],(zip(*xy_f))[1][i]))
axes[0, 2].set_title("xy_e")
axes[0, 2].set_xlabel('Average Pixel')
axes[0, 2].set_ylabel('Dimentional Mean')
axes[1, 2].scatter(*zip(*xy_f))
for i, txt in enumerate(xy_na): axes[1, 2].annotate(txt, ((zip(*xy_f))[0][i],(zip(*xy_f))[1][i]))
axes[1, 2].set_title("xy_f")
axes[1, 2].set_xlabel('Keypoint Number')
axes[1, 2].set_ylabel('Dimentional Mean')
fig.tight_layout()
fig.suptitle("Folder: {}".format ((str(folder_path)).split("/")[-1]))
plt.show()
它生成的图表不太可读:
该文件夹中有13张图片:11张面部照片和2张团体照片。现在,它不是完全不可读,但是当我在一个包含100张图像的文件夹上运行时会发生什么?
重叠注释还有其他答案,但它们都不适用于我的单行注释方案。如果有人能找到我的问题的解决方案,那就太好了。
答案 0 :(得分:1)
我建议,不要一直显示所有注释,只需在单击数据点时显示注释。同样的数据点也可以在其他子图中突出显示。
有关如何实现此目的的示例,请参阅this cookbook recipe