【python读入一维数据和与可视化】一维数据list访问与特定位置替换

输入数据格式data

0 
180 
360 
540 
716 
896 
938 
960 
986 
1002 
1004 
1006 
1008 
1010 
1012 

在这里插入图片描述

# import necessary module
from ctypes import sizeof
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np
from pylab import *
import cmath
import math


filename ='./plat_frame_id.txt'  # 给定文件路径

plat_frame_id_data = []
with open(filename, 'r') as file_to_read: # 打开文件,将其值赋予file_to_read
  while True:
    lines = file_to_read.readline() # 整行读取数据
    if not lines: # 若该行为空
        break
    else:
        this_lines=lines.split() 
        length_this_lines = len(this_lines)
        num_this_line = []
        for loop_this_line in range(length_this_lines):
                num_this_line.append(int(this_lines[loop_this_line]))
        # print(num_this_line)
        # print(type(num_this_line))
        plat_frame_id_data.append(num_this_line)
        # for this_line in num_this_line: # 遍历数组并输出
            # print(double(this_line)) # 直接在这里写处理代码就可以了,因为切割后的数组是按照顺序排列的,并且自动剔除了换行符
            # 但仍需注意,调试后发现切割后进行遍历的this_line变量为str格式,可能需要强制类型转换才能作为数字进行计算,所以这段代码同样支持英语汉语的分割输出
            # line_data = array(double(this_line))
print("----------------------------")
# print(plat_frame_id_data)
max_farme_id = max(plat_frame_id_data)
print(max_farme_id[0])
# print('plat_frame_id_data_len = ',len(plat_frame_id_data))
# print(type(plat_frame_id_data))

view_plat_index_pos = [list()] * max_farme_id[0]
view_plat_index_pos[0].append(0)
print(len(view_plat_index_pos))

expand_loop = len(plat_frame_id_data)
for i in range(expand_loop):
    index = plat_frame_id_data[i]
    if(index[0] < len(view_plat_index_pos)):
        view_plat_index_pos[index[0]] = [1]

# print((view_plat_index_pos))
# print(len(view_plat_index_pos))
# ## *****************************************************************
fig = plt.figure(figsize=[6.4*5, 4.8*5], dpi=100)

rect1 = [0.03, 0.55, 0.95, 0.35]
ax1 = plt.axes(rect1)

# plt.imshow(view_plat_index_pos)
plt.xlim=[0,max_farme_id[0]]
plt.ylim=[0,1]

xpoints =list(range(1,max_farme_id[0]+1))
xpoints =np.array(xpoints)

view_success_index_pos_array = np.array(view_plat_index_pos)
plt.plot(xpoints,view_success_index_pos_array,linewidth = 0.3)

plt.ylabel("status of plat frame")
plt.xlabel("the pos of plat frame in plat")
plt.savefig('/home/sun/nolovr/svopro/doc/plat_frame_distribute_inPlat.png', bbox_inches='tight')
plt.show()

plt.close()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

大江东去浪淘尽千古风流人物

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值