python读取文件并绘制三维点图

描述:读取data.txt文件,里面每一行都是由空格分隔的x,y,z坐标。本文目标是读取之后将它绘制出来。

要点:

  • 读取文件要用生成器,这样大文件就不用都一次性放进内存。

python代码:

#-*-coding:utf-8-*-

import numpy as np
import re
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

def readFile(filepath):
    with open(filepath,"r") as f:
        while (True):
            yield f.readline().strip()

filepath = "data.txt"
#list = open(filepath,"r").readlines().strip()
time = 0
list = []

XYZ = np.zeros((3,400))
for i in readFile(filepath):
    if (time >=400):
        break
    li = [float(j) for j in re.split('\s',i)]
    XYZ[0][time] = li[0]
    XYZ[1][time] = li[1]
    XYZ[2][time] = li[2]
    time = time + 1
    #print (li)
print (XYZ)
fig = plt.figure()
ax = plt.subplot(111,projection='3d')
ax.scatter(XYZ[0][:5],XYZ[1][:5],XYZ[2][:5],c='y')
#ax.scatter(XYZ[0][100:200],XYZ[1][100:200],XYZ[2][100:200],c='r')
#ax.scatter(XYZ[0][200:400],XYZ[1][200:400],XYZ[2][200:400],c='g')
plt.show()



参考链接:http://blog.youkuaiyun.com/eddy_zheng/article/details/48713449

http://jingyan.baidu.com/article/eb9f7b6d6fa886869364e88e.html

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值