我正在尝试创建一个从.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()
我很想知道这个图是否涵盖了我的数据文件中的所有点。您的建议非常感谢。
答案 0 :(得分:0)
通过执行plt.plot(a)
,您将传递一个三维数据集以绘制到二维图形上。
来自plot
的matplotlib docs
如果x和/或y是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的鼠标悬停位置读数,这看起来是正确的。
在一般图表上,如果您想要显示数据集的频率(和其他统计数据),我建议使用直方图,箱线图或小提琴图。请参阅histograms,boxplots and violin plots的matplotlib示例。
编辑:从您拥有的图表上的阴影看,它看起来确实包含所有点,因为您的数据列在单独绘制时是长尾的。长尾图与您所拥有的图形上的阴影相关。