1

xとyの2列のデータがあります。yデータは下の三角波の形をしています。ご覧のとおり、三角形には正のグラデーションの2つのセクションと、負のグラデーションの1つの長いセクションがあります。

yデータの三角形(振幅は重要ではありません)

次のようなプログラムを作成したいと思います。

  • 垂直配列の現在のエントリが、配列の連続するエントリに対して正または負の勾配を持っているかどうかを問い合わせます。
  • 次に、yデータをxに対してプロットします。ここで、正の勾配を持つy値(およびそれぞれのx値)は1つの色を使用してプロットされ、負のポイントは別の色でプロットされます。

これはPythonでどのように行うのが最適ですか?

4

1 に答える 1

1
filen = 'filename.txt'
x = loadtxt(fn,unpack=True,usecols=[0]) 
y = loadtxt(fn,unpack=True,usecols=[1])

n = ma.masked_where(gradient(y) < 0, y)
p = ma.masked_where(gradient(y) > 0, y)

pylab.plot(x,n,'r',x,p,'g')

私のためにトリックを行います!

于 2012-10-23T22:05:47.613 に答える