当前位置:首页 >> 脚本专栏

Python读取txt某几列绘图的方法

晚上帮同学用Python脚本绘图,大概需求是读取一个txt文件的两列分别作为x和y的值,绘图即可,代码如下:

#coding:utf-8
import numpy as np
import matplotlib.pyplot as plt
import pylab


## 绘制该文件中的数据
## 需要引入pylab库,里面用到的函数和MATLAB里的非常类似
def plotData(x, y):
  length = len(y)

  pylab.figure(1)

  pylab.plot(x, y, 'rx')
  pylab.xlabel('x')
  pylab.ylabel('y')

  pylab.show()#让绘制的图像在屏幕上显示出来

x = []
y = []


x = [float(l.split()[3]) for l in open("07.txt")]
y = [float(l.split()[11]) for l in open("07.txt")]


plotData(x,y)

如果对跑的效果不满意可以用matplotlib重绘,代码如下:

#coding:utf-8
import numpy as np
import matplotlib.pyplot as plt
import pylab

'''
## 绘制该文件中的数据
## 需要引入pylab库,里面用到的函数和MATLAB里的非常类似
def plotData(x, y):
  length = len(y)

  pylab.figure(1)

  pylab.plot(x, y, 'rx')
  pylab.xlabel('x')
  pylab.ylabel('y')

  #让绘制的图像在屏幕上显示出来

'''


x1 = [float(l.split()[3]) for l in open("New.txt")]
y1 = [float(l.split()[11]) for l in open("New.txt")]

x2 = [float(l.split()[3]) for l in open("Initial.txt")]
y2 = [float(l.split()[11]) for l in open("Initial.txt")]


plt.plot(x1, y1, 'b',linewidth=2.5, linestyle="-", label="cosine")
plt.plot(x2, y2, 'r',linewidth=2.5, linestyle="-", label="sine")

plt.legend(loc='upper left')
plt.show()

#plotData(x1,y1)

#plotData(x2,y2)

#pylab.show()

txt文件前几列示例如下:

9.999795e-01 5.025123e-04 -6.380358e-03 -4.596714e-03 -5.005160e-04 9.999998e-01 3.144878e-04 -2.001524e-03 6.380515e-03 -3.112871e-04 9.999796e-01 9.154274e-02
9.999096e-01 1.061516e-03 -1.340599e-02 -1.001116e-02 -1.058762e-03 9.999994e-01 2.126022e-04 -4.359704e-03 1.340621e-02 -1.983884e-04 9.999101e-01 1.857373e-01
9.997800e-01 1.386756e-03 -2.092925e-02 -1.753371e-02 -1.395506e-03 9.999989e-01 -4.034725e-04 -6.859665e-03 2.092867e-02 4.325913e-04 9.997809e-01 2.834672e-01
9.995454e-01 2.025309e-03 -3.008212e-02 -2.863192e-02 -2.080074e-03 9.999962e-01 -1.789331e-03 -6.726660e-03 3.007839e-02 1.851091e-03 9.995458e-01 3.873100e-01
9.991403e-01 2.230707e-03 -4.139680e-02 -4.273697e-02 -2.379114e-03 9.999909e-01 -3.536042e-03 -7.303015e-03 4.138854e-02 3.631490e-03 9.991365e-01 5.011396e-01
9.984892e-01 2.145631e-03 -5.490591e-02 -6.000009e-02 -2.394373e-03 9.999871e-01 -4.464951e-03 -8.065471e-03 5.489562e-02 4.589671e-03 9.984816e-01 6.279359e-01
9.974753e-01 2.223074e-03 -7.097932e-02 -8.275693e-02 -2.545053e-03 9.999869e-01 -4.446103e-03 -8.995000e-03 7.096851e-02 4.615524e-03 9.974679e-01 7.669396e-01
9.959798e-01 9.912399e-04 -8.957233e-02 -1.090497e-01 -1.397593e-03 9.999890e-01 -4.473982e-03 -1.033982e-02 8.956691e-02 4.581182e-03 9.959703e-01 9.191805e-01
9.939836e-01 -3.564687e-04 -1.095286e-01 -1.415335e-01 -1.406643e-04 9.999897e-01 -4.531084e-03 -1.195088e-02 1.095291e-01 4.519231e-03 9.939733e-01 1.081913e+00
9.912980e-01 -4.511767e-04 -1.316366e-01 -1.816057e-01 -1.745510e-04 9.999887e-01 -4.741873e-03 -1.604515e-02 1.316372e-01 4.723586e-03 9.912867e-01 1.251378e+00
9.877899e-01 2.927872e-03 -1.557641e-01 -2.325643e-01 -3.900867e-03 9.999747e-01 -5.941284e-03 -2.265364e-02 1.557428e-01 6.476356e-03 9.877764e-01 1.425643e+00
9.834265e-01 7.281907e-03 -1.811611e-01 -2.934590e-01 -8.809762e-03 9.999321e-01 -7.630442e-03 -3.116429e-02 1.810932e-01 9.099964e-03 9.834238e-01 1.604140e+00
9.780772e-01 1.080196e-02 -2.079623e-01 -3.616512e-01 -1.279341e-02 9.998842e-01 -8.233354e-03 -3.933357e-02 2.078493e-01 1.071340e-02 9.781022e-01 1.788640e+00
9.713483e-01 1.158386e-02 -2.373782e-01 -4.366243e-01 -1.400444e-02 9.998657e-01 -8.513365e-03 -4.313507e-02 2.372477e-01 1.159379e-02 9.713800e-01 1.979231e+00

以上这篇Python读取txt某几列绘图的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。