2012-10-23 43 views
1

我有兩列數據,x和y。 y數據呈現下面三角波的形狀。正如你所看到的,三角形有2個正梯度部分和1個更長部分的負梯度。根據漸變的符號(Python)爲數據分配顏色

Triangular shape of y-data (amplitude is not important)

我想寫一個程序:

在垂直陣列的當前條目
  • 查詢是否具有相對於陣列中的連續項的正或負梯度。
  • 然後,將y數據繪製爲x,其中具有正梯度(及其各自的x值)的y值使用一種顏色繪製,負繪製使用另一種顏色繪製。

在Python中如何做到最好?

+0

用PIL或matplotlib。當您遇到特定問題時,請回來,我們很樂意爲您提供幫助。 – lolopop

+1

我認爲我已儘可能具體說明......如果您的意思是您希望我提供我的試用代碼,那是可行的!我希望有不同的方法。 – 8765674

回答

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') 

對我來說是否有把戲!