从包含所有x的文件和包含y的其他文件中绘制

时间:2017-03-02 15:14:10

标签: python numpy gnuplot

我有两个文件,每个文件包含大约50行的604列(几乎全部不同)。一个文件包含另一个文件中Y的所有X!第一个Y列与第一个X列一起使用并具有相同的行数,依此类推!所有X的范围都是0到1,但不是所有的相同间隔。

我知道gnuplot没有本地方式来绘制不同的文件。您必须使用终端并使用' join'或者'粘贴'命令。使用它们时,会发生奇怪的事情。

所以问题是:有没有办法让所有这些值都有一个情节?一个包含604行(x1,y1),(x2,y2)......(x604,y604)的图。

另外,我使用python和numpy来创建一个包含所有这些值的不等numpy.arrays的list()。因此,如果他们是一种方式或者如果python会让它更容易,我愿意接受建议!

非常感谢!

编辑:以下是使用文件的示例:

x1.1, x2.1, x3.1 ... x604.1 

x1.2, x2.2, x3.2 ... x604.2 

x1.3, x2.3, x3.3 ... x604.3

...   ...   ...     ...   

x1.N, x2.N, x3.N ... x604.N

y1.1, y2.1, y3.1 ... y604.1

y1.2, y2.2, y3.2 ... y604.2

y1.3, y2.3, y3.3 ... y604.3

...   ...   ...      ...

y1.N, y2.N, y3.N ... y604.N

我不使用标题或列标题!它们只是普通的csv文件,其中逗号分隔列。

1 个答案:

答案 0 :(得分:0)

您可以使用Pandas有效地执行此操作,Pandas可以管理缺失值。但文件的第一行必须是所有中最长的一行。 Pandas用标题行确定数据帧的宽度。

举个例子:

假设x.csv是:

1,2,3,4
1,2,3,4,5
1,2

添加第一个col,长度或长度超过:

a,a,a,a,a,a,a,a,a,a
1,2,3,4
1,2,3,4,5
1,2

然后阅读:x=pd.read_csv('x.csv')y=pd.read_csv('y.csv')

plt.plot(x.T,y.T)就是你想要的。