将主分支最后一个加在左右分支上

import numpy as np
import matplotlib.pyplot as plt
data = np.load('final37.npy')
data = data[:,3,0:60]
def Manage_gen(gen_imgs):
    #gen_imgs一个维度为(-1,3,60)的数组,头部分支的尾部,与左右分支的头部分开了
    #目的把头的尾部,加入左右分支头部,并保证,维度不变
    finaldata = gen_imgs.tolist()
    final = []
    for i in range(len(finaldata)):
        zhu = finaldata[i][0]
        zuo = finaldata[i][1]
        you = finaldata[i][2]
        #单独分开x,y,列表
        zhu_x = zhu[0:30]
        zhu_y = zhu[30:60]
        zuo_x = zuo[0:30]
        zuo_y = zuo[30:60]
        you_x = you[0:30]
        you_y = you[30:60]
        ############################################
        #真实数据主分支最后两个基本相等,所以生成数据也是,这样计算角度时,就应该计算最后一个和倒数第三个点
        #为了让主分支最后一个加在左右分支的头部,此处先去掉左右分支的最后一个点,因为端点插入的值都是相等的,所以去掉影响不大
        #然后,再将主分支的尾部,加入左右分支头部,这样,就保证了维度不变
        #去除左右分支尾部一个数
        del zuo_x[-1]
        del zuo_y[-1]
        del you_x[-1]
        del you_y[-1]
        #在左右分支的头部插入主分支的尾部
        zuo_x.insert(0,zhu_x[-1])
        zuo_y.insert(0,zhu_y[-1])
        you_x.insert(0,zhu_x[-1])
        you_y.insert(0,zhu_y[-1])
        zhu_x.extend(zhu_y)
        zuo_x.extend(zuo_y)
        you_x.extend(you_y)
        fencha = [zhu_x] +[zuo_x] + [you_x]
        final.append(fencha)
    final = np.array(final)#一个维度为(-1,3,60)的数组
    return final
def Plt_images(imgs):
    for i in range(len(imgs)):
        plt.plot(imgs[i][0][0:30],imgs[i][0][30:60],color='red')
        plt.plot(imgs[i][1][0:30],imgs[i][1][30:60],color='blue')
        plt.plot(imgs[i][2][0:30],imgs[i][2][30:60],color='green')
        plt.show()
gen = Manage_gen(data)
print(gen.shape)
np.save('managefinal37',gen)

猜你喜欢

转载自blog.csdn.net/qq_38826019/article/details/81546220