绘制从python中的.txt文件中提取的点

时间:2017-08-28 01:18:12

标签: python numpy matplotlib

我正在尝试创建一个从.txt文件中提取点的图。这些点由“&tab;”标签分隔。只有空间。此外,只有一列可以容纳太多的点,因此它们已经分布在3列中。但是,当我在matplotlib中绘图时,我有点怀疑我没有看到所有数字都被绘制。可能是数据仅在第一列上绘制而忽略其他两列的情况。

以下是此类数据文件的示例示例:https://www.dropbox.com/s/th6uwrk2xdnmhyi/n1l2m2.txt?dl=0

我还附上了我用来绘制的简单代码:

import matplotlib.pyplot as plt
%matplotlib inline
import sys
import os
import numpy

from pylab import *

exp_sum = '/home/trina/Downloads/n1l2m2.txt'

a= numpy.loadtxt(exp_sum, unpack =True)


plt.plot(a)

show() 

enter image description here这里是输出图像:

我很想知道这个图是否涵盖了我的数据文件中的所有点。您的建议非常感谢。

1 个答案:

答案 0 :(得分:0)

通过执行plt.plot(a),您将传递一个三维数据集以绘制到二维图形上。

来自plot的matplotlib docs

  

如果x和/或y是2维的,那么相应的列将是   作图。

因此,您的图表输出为:

  • x = 0
  • 处的第0列值
  • 第1列的值为x = 1
  • 第2列的值为x = 2

在代码中添加以下内容:

for i in range(0,len(a)):
    print('a'+str(i),max(a[i]),min(a[i]))

输出以下内容:

stats max min
a0 0.9999 0.0
a1 0.9856736 0.3736717
a2 -0.003469009 -0.08896232

使用matplotlib的鼠标悬停位置读数,这看起来是正确的。

在一般图表上,如果您想要显示数据集的频率(和其他统计数据),我建议使用直方图,箱线图或小提琴图。请参阅histogramsboxplots and violin plots的matplotlib示例。

编辑:从您拥有的图表上的阴影看,它看起来确实包含所有点,因为您的数据列在单独绘制时是长尾的。长尾图与您所拥有的图形上的阴影相关。