我目前正在編寫「正在做」的程序,並繪製DNA樣本的相位分析,並且出現了一些問題:Output plot HERE!右側的圖像來自MATLAB並且是它應該如何看起來的例子。左邊的圖像是從我的程序輸出的。正如你所看到的藍色圖形看起來是正確的,但它是在不同的角度。我檢查過代碼,它和我的程序的MATLAB版本基本相同。無論如何,我會把它放在這裏,也許有一個我不知道的錯誤。但如果不是這樣,是否有一種「轉向/降低」的方式將圖形展示到正確的位置?如何在python中以某個角度「降低」圖形
Python代碼在這裏:
def listIni(size, const=0):
return [const] * size
seq = SeqIO.read("C:/ec.fasta", "fasta")
seqString = seq.format("fasta")
seq = seqString[72:]
seqLen = len(seq)
phase = listIni(seqLen)
A = complex(1, 1)
T = complex(1, -1)
C = complex(-1, -1)
G = complex(-1, 1)
RNL = range(0, seqLen)
ntLoc = np.asarray(RNL)
for i in RNL:
if seq[i] == "A":
phase[i] = np.angle(A)
elif seq[i] == "T":
phase[i] = np.angle(T)
elif seq[i] == "C":
phase[i] = np.angle(C)
else:
phase[i] = np.angle(G)
arrPh = np.asarray(phase)
unwrapedPh = np.unwrap(arrPh)
cumulatedPh = np.cumsum(arrPh)
plt.plot(ntLoc, unwrapedPh, label='uPhase', color='red')
plt.plot(ntLoc, cumulatedPh, label='cPhase', color='blue')
plt.xlabel("Relative nt location")
plt.ylabel("Angle")
plt.show()