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
评论1