簡體   English   中英

如何遍歷 plot matplotlib 的標題?

[英]How can I loop through the title of a plot matplotlib?

我是 python 的新手,並嘗試通過 for 循環在我的 EEG 數據集的每個電極的單獨圖中對 plot PSD 進行測試。 plot 的標題應包含相應的電極名稱。

這是我用來從 a.txt 文件加載數據的代碼:

k = pd.read_csv(r'C:\Users\LPC\Desktop\rest txt 7min\AB24_rest_asr_ICA_MARA_7min.txt',usecols=['AFp2','F9','AFF5h','AFF1h','AFF2h','AFF6h','F10','FFT9h','FFT7h','FFC5h','FFC3h','FFC1h','FFC2h','FFC4h','FFC6h','FFT8h','FFT10h','FC1','FCz','FC2','FTT9h','FTT7h','FCC5h','FCC3h','FCC1h','FCC2h','FCC4h','FCC6h','FTT8h','FTT10h','Cz','TTP7h','CCP5h','CCP3h','CCP1h','CCP2h','CCP4h','CCP6h','TTP8h','CPz','TPP9h','TPP7h','CPP5h','CPP3h','CPP1h','CPP2h','CPP4h','CPP6h','TPP8h','TPP10h','Pz','PPO1h','PPO2h','P9','PPO9h','POO1','POO2','PPO10h','P10','POO9h','OI1h','OI2h','POO10h'], sep=",")
k.columns = ['AFp2','F9','AFF5h','AFF1h','AFF2h','AFF6h','F10','FFT9h','FFT7h','FFC5h','FFC3h','FFC1h','FFC2h','FFC4h','FFC6h','FFT8h','FFT10h','FC1','FCz','FC2','FTT9h','FTT7h','FCC5h','FCC3h','FCC1h','FCC2h','FCC4h','FCC6h','FTT8h','FTT10h','Cz','TTP7h','CCP5h','CCP3h','CCP1h','CCP2h','CCP4h','CCP6h','TTP8h','CPz','TPP9h','TPP7h','CPP5h','CPP3h','CPP1h','CPP2h','CPP4h','CPP6h','TPP8h','TPP10h','Pz','PPO1h','PPO2h','P9','PPO9h','POO1','POO2','PPO10h','P10','POO9h','OI1h','OI2h','POO10h']

我不知道這種做法是否有用,但我嘗試讓 k 包含數據和 k.columns 來調用列。

然后我使用以下 for 循環:


for columns in k:
    freqs, psd = signal.welch(k[columns], fs=500, 
                              window='hanning',nperseg=40, noverlap=20, scaling='density', average='mean')
    plt.figure(figsize=(5, 4))
    plt.plot(freqs, psd)
    plt.title('PSD: power spectral density')
    plt.xlabel('Frequency')
    plt.ylabel('Power')
    plt.axis([0,50, -1, 5]) 
plt.show()

如何在包含電極名稱的 plot 的標題中添加一個循環?

非常感謝您的寶貴幫助::)

@Mr.T 的回復真的很有幫助!!

使用 f 字符串格式plt.title(f'PSD: power spectral density for {columns}') 您可能還會從熟悉子圖和軸對象中受益。 ——T先生

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM