栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python KMeans聚类图选择性标图例

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python KMeans聚类图选择性标图例

参考教程:https://blog.csdn.net/weixin_39251985/article/details/114214607


示意图

做词向量句类的图,每一个点的label都是这个词,这就导致了如果直接生成legend会有很多很多个图例,我只需要三种样式的点,然后概括一下每一簇的特点。
像图中这样:

给指定的画图语句赋变量名

因为我画点用的是循环,部分代码如下:

for i, l in enumerate(kmeans_model.labels_):
	plt.plot(low_dim_embs[i][0], low_dim_embs[i][1], color=colors[l], marker=markers[l], ls='None')

就用了比较笨的方法,随便挑三个是红黄蓝的点,用elif语句重点照顾这三个点,给他们赋一个名,如下:

    for i, l in enumerate(kmeans_model.labels_):
        if i != 1 and i != num1 and i != num2:
            plt.plot(low_dim_embs[i][0], low_dim_embs[i][1], color=colors[l], marker=markers[l], ls='None')
        elif i == 1:
            p1, = plt.plot(low_dim_embs[i][0], low_dim_embs[i][1], color=colors[l], marker=markers[l], ls='None')
        elif i == num1:
            p2, = plt.plot(low_dim_embs[i][0], low_dim_embs[i][1], color=colors[l], marker=markers[l], ls='None')
        elif i == num2:
            p3, = plt.plot(low_dim_embs[i][0], low_dim_embs[i][1], color=colors[l], marker=markers[l], ls='None')

可以不用细看我的plt.plot()语句,只要注意给需要加图例的语句赋一个变量名就可以。比较关键的是变量名一定要加逗号,p1,和p2,这样,否则后面不会显示图例。

图例展示

然后再一句图例展示的语句:

plt.legend([p1,p2,p3],[u'环境描写', u'动作描写', u'外貌描写'], loc='best')

loc="best"表示图例会找最合适的位置放。


就是说吴老师两天没回我消息了嘤

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/283202.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号