论文绘图T-SNE&折线图

T-SNE

from sklearn.manifold import TSNE
import matplotlib.pyplot as plt
import numpy as np
import paddle
import os
from matplotlib.backends.backend_pdf import PdfPages

# files = os.listdir('./da_src_encoder_tsne/')
# S = []
# for file in files:
#     tmp = np.load('./da_src_encoder_tsne/' + file)
#     B, N, C = tmp.shape
#     tmp = tmp.reshape(B,-1)
#     S.append(tmp)


# files = os.listdir('./da_tgt_encoder_tsne/')
# T = []
# for file in files:
#     tmp = np.load('./da_tgt_encoder_tsne/' + file)
#     B, N, C = tmp.shape
#     tmp = tmp.reshape(B,-1)
#     T.append(tmp)


# S1 = np.concatenate(S, axis=0)
# np.save('da_src_encoder_tsne.npy', S1)
# T1 = np.concatenate(T, axis=0)
# np.save('da_tgt_encoder_tsne.npy', T1)



# with PdfPages('tsne-42-10.pdf') as pdf:
#     random_state = 42  # 可以是任何整数
#     S1 = np.load('src_encoder_tsne.npy')
#     T1 = np.load('tgt_encoder_tsne.npy')
#     S1_tsne = TSNE(n_components=2, random_state=random_state, perplexity=10).fit_transform(S1)
#     T11_tsne = TSNE(n_components=2, random_state=random_state, perplexity=10).fit_transform(T1)

#     plt.scatter(S1_tsne[:, 0], S1_tsne[:, 1], s=8, label='source', color='red')
    
#     # 绘制data2的点
#     plt.scatter(T11_tsne[:, 0], T11_tsne[:, 1], s=8, label='target', color='blue')
    
#     # 添加图例
#     # plt.legend(loc='lower right')

#     # 不显示坐标
#     plt.xticks([])
#     plt.yticks([])
#     pdf.savefig(bbox_inches="tight")


# with PdfPages('tsne-42-25.pdf') as pdf:
#     random_state = 42  # 可以是任何整数
#     S1 = np.load('src_encoder_tsne.npy')
#     T1 = np.load('tgt_encoder_tsne.npy')
#     S1_tsne = TSNE(n_components=2, random_state=random_state, perplexity=25).fit_transform(S1)
#     T11_tsne = TSNE(n_components=2, random_state=random_state, perplexity=25).fit_transform(T1)

#     plt.scatter(S1_tsne[:, 0], S1_tsne[:, 1], s=8, label='source', color='red')
    
#     # 绘制data2的点
#     plt.scatter(T11_tsne[:, 0], T11_tsne[:, 1], s=8, label='target', color='blue')
    
#     # 添加图例
#     # plt.legend(loc='lower right')

#     # 不显示坐标
#     plt.xticks([])
#     plt.yticks([])
#     pdf.savefig(bbox_inches="tight")


# ok 离散的
# with PdfPages('tsne-da-42-50.pdf') as pdf:
#     random_state = 42  # 可以是任何整数
#     S1 = np.load('da_src_encoder_tsne.npy')
#     T1 = np.load('da_tgt_encoder_tsne.npy')
#     S1_tsne = TSNE(n_components=2, random_state=random_state, perplexity=50).fit_transform(S1)
#     T11_tsne = TSNE(n_components=2, random_state=random_state, perplexity=50).fit_transform(T1)

#     plt.scatter(S1_tsne[:, 0], S1_tsne[:, 1], s=8, label='source', color='red')
    
#     # 绘制data2的点
#     plt.scatter(T11_tsne[:, 0], T11_tsne[:, 1], s=8, label='target', color='blue')
    
#     # 添加图例
#     # plt.legend(loc='lower right')

#     # 不显示坐标
#     plt.xticks([])
#     plt.yticks([])
#     pdf.savefig(bbox_inches="tight")
    # plt.savefig('tsne-2.png',)
    # plt.show()





# import matplotlib.pyplot as plt

# # 创建一个包含两个子图的图形,1行2列布局
# fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 5))
# random_state = 42  # 可以是任何整数
# S1 = np.load('src_encoder_tsne.npy')
# T1 = np.load('tgt_encoder_tsne.npy')
# S1_tsne = TSNE(n_components=2, random_state=random_state, perplexity=25).fit_transform(S1)
# T1_tsne = TSNE(n_components=2, random_state=random_state, perplexity=25).fit_transform(T1)

# ax1.scatter(S1_tsne[:, 0], S1_tsne[:, 1], s=8, label='source', color='red')
# ax1.scatter(T1_tsne[:, 0], T1_tsne[:, 1], s=8, label='target', color='blue')
# ax1.set_xticks([])
# ax1.set_yticks([])
# ax1.set_xlabel('RTDETR')
# ax1.set_ylabel('Encoder Feature')

# # 在第二个子图上绘制不同的数据
# DA_S1 = np.load('src_encoder_tsne.npy')
# DA_T1 = np.load('tgt_encoder_tsne.npy')
# DAS1_tsne = TSNE(n_components=2, random_state=random_state, perplexity=10).fit_transform(DA_S1)
# DAT1_tsne = TSNE(n_components=2, random_state=random_state, perplexity=10).fit_transform(DA_T1)

# ax2.scatter(DAS1_tsne[:, 0], DAS1_tsne[:, 1], s=8, label='source', color='red')
# ax2.scatter(DAT1_tsne[:, 0], DAT1_tsne[:, 1], s=8, label='target', color='blue')
# # 不显示坐标
# ax2.set_xticks([])
# ax2.set_yticks([])

# ax2.set_xlabel('RT-DATR(Ours)')

# # 添加图例
# # plt.legend(loc='lower right')

# # 调整子图之间的间距(可选)
# plt.tight_layout()

# # 将整个图形保存为PDF文件
# plt.savefig('feature_visualization_2.pdf', bbox_inches="tight")



# 创建一个包含两个子图的图形,1行2列布局
fig, ax= plt.subplots(2, 2, figsize=(10, 8))
random_state = 42  # 可以是任何整数
S1 = np.load('src_encoder_tsne.npy')
T1 = np.load('tgt_encoder_tsne.npy')
S1_tsne = TSNE(n_components=2, random_state=random_state, perplexity=25).fit_transform(S1)
T1_tsne = TSNE(n_components=2, random_state=random_state, perplexity=25).fit_transform(T1)

ax[1, 0].scatter(S1_tsne[:, 0], S1_tsne[:, 1], s=8, label='source', color='red')
ax
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jeremy-Sky

你的鼓励是我的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值