python plot绘图

使用python绘制t-sne图,并保存

一下是一个将que_im_features向量可视化的例子:

def emb_save(que_im_features,i):# 向量[75, 640, 11, 11], episode
    import numpy as np
    import pandas as pd
    from sklearn import manifold
    import matplotlib.pyplot as plt

    que_im_features = que_im_features.mean(-1) #[75, 640,11,11]-> [75, 640]变成二维
    que_im_features = que_im_features.mean(-1)


    vec_list = que_im_features.cpu().numpy()
    vec_array = np.array(vec_list)
    tsne = manifold.TSNE(n_components=2, init='pca', random_state=42,perplexity=8,learning_rate=515,n_iter=50000).fit_transform(vec_array)
    # print("tsne:",tsne)
    # tsne 归一化, 这一步可做可不做
    x_min, x_max = tsne.min(0), tsne.max(0)
    tsne_norm = (tsne - x_min) / (x_max - x_min)


    tsne_1 = tsne_norm[0:50]#每类50个
    tsne_2 = tsne_norm[50:100]


    plt.figure(figsize=(7, 7))#图大小
    plt.scatter(tsne_1[:, 0], tsne_1[:, 1], 30,  label='Brown Creeper')
    # tsne_normal[i, 0]为横坐标,X_norm[i, 1]为纵坐标,1为散点图的面积, color给每个类别设定颜色
    plt.scatter(tsne_2[:, 0], tsne_2[:, 1], 30,  label='Rusty Blackbird')

    plt.legend(loc="lower right",prop={'size': 14})#图例设置,位置右下,大小为14号

    plt.xticks( size=16)#横轴字大小
    plt.yticks( size=16)
    plt.savefig("./Picture"+str(i)+".pdf",bbox_inches='tight')#保存为pdf
    					# bbox_inches='tight'输出图像周围空白比边距减小

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值