使用matplotlib在图表中显示带有彩色边框的图像

我想在图表上绘制带有图像的图形。我正在进行k-means聚类,之后我想在每个聚类上显示图像,并使用相同的边框颜色。

我有一些代码,基本上是将图像放置在图表上,并带有黑色边框

fig = plt.gcf()fig.clf()ax = plt.subplot(111)# 添加第一张图像for i in range(0, len(dataset['val'].path)):        ab = AnnotationBbox(OffsetImage(img, zoom=.15, cmap='gray'),                        [reduced_data[i][0], reduced_data[i][1]],                        frameon=True,                        xybox=(10, 10),                        xycoords='data',                        boxcoords="offset points",                        arrowprops=dict(arrowstyle="-"))    ax.add_artist(ab)plt.draw()plt.show()

我在scickit learn文档中查了一些教程,我也查看了matplotlib网页上的AnnotationBboxOffsetImage构造函数,但没有结果。我想知道是否有办法更改插入图表中图像的边框颜色,使其与我为每个聚类指定的颜色相匹配。


回答:

你可以使用bboxprops=dict(edgecolor='red')来设置你的AnnotationBbox的边界框。一个最小的示例,

import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.offsetbox import OffsetImage, AnnotationBboxfig, ax = plt.subplots()im = OffsetImage(np.arange(100).reshape((10, 10)))ab1 = AnnotationBbox(im, (0.5, 0.5),                    bboxprops =dict(edgecolor='red'))ab2 = AnnotationBbox(im, (0.75, 0.75),                    bboxprops =dict(edgecolor=[0.2,1.,0.5]  ))ax.add_artist(ab1)ax.add_artist(ab2)plt.show()

这将得到,

enter image description here

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注