• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Python KMeans聚类图选择性标图例

武飞扬头像
拔牙不打麻药
帮助1

参考教程: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"表示图例会找最合适的位置放。


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

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhghejia
系列文章
更多 icon
同类精品
更多 icon
继续加载