13

2 列の数値を含む .dat ファイルがあるので、次のようになります。

111    112
110.9  109
103    103

等々。

2 つの列を互いにプロットしたいと考えています。以前に .dat ファイルを扱ったことがないので、どこから始めればよいかわかりません。

これまでのところ、numpy には呼び出しに使用できるものがあることがわかりました。

data = numpy.loadtxt('data.DAT')

しかし、ここからどこへ行くべきかわかりません。何か案は?

4

2 に答える 2

15

Numpy は単独でのプロットをサポートしていません。通常、matplotlibnumpy 配列をプロットするために使用します。

「ファイルを調べたい」だけなら、最も簡単な方法はplotfile.

import matplotlib.pyplot as plt 

plt.plotfile('data.dat', delimiter=' ', cols=(0, 1), 
             names=('col1', 'col2'), marker='o')
plt.show()

この関数はgnuplot、ipython 内とほとんど同じように使用できます。

$ ipython --pylab
...
...
In [1]: plt.plotfile('data.dat', delimiter=' ', cols=(0, 1), 
...                  names=('col1', 'col2'), marker='o')

または、シェルスクリプトに入れて引数を渡して、シェルから直接使用します

プロットファイルの例

于 2012-09-07T16:51:39.833 に答える
4
import numpy as np
import matplotlib.pyplot as plot
#data = np.loadtxt("plot_me.dat")
#x,y=np.loadtxt("plot_me.dat",unpack=True) #thanks warren!
#x,y =  zip(*data)
#plot.plot(x, y, linewidth=2.0)
plot.plot(*np.loadtxt("plot_me.dat",unpack=True), linewidth=2.0)
plot.show()

[編集]ヒントをありがとう、今は可能な限りコンパクトになっていると思います:P

プロット 1

log10 にしたい場合は、nparray で log10 を呼び出すだけです)

plot.plot(*np.log10(np.loadtxt("plot_me.dat",unpack=True)), linewidth=2.0)

log10

于 2012-09-07T04:40:57.687 に答える