簡體   English   中英

seaborn.catplot 在更改 x 和 y 的值時出現 ValueError

[英]seaborn.catplot got ValueError when changing the value for x and y

我正在寫一個 python 腳本到 plot 隨着時間的推移,狀態如何在 s0 和 s2 之間波動。 我的輸入看起來像這樣:

timestamp|servo

0|s0

1|s0

2|s2

3|s0

4|s2

5|s0

6|s0

我寫輸入 csv 的方式是這樣的:

headers = ['timestamp', 'servo']
with open(('/home/ray/proj/5th_output/asym/slave/test/' + str(testname) + '.csv'), 'w', newline='') as csvfile:
    spamwriter = csv.DictWriter(csvfile, fieldnames=headers, delimiter='|')
    spamwriter.writeheader()

    for i in range(0, len(eachservo)):
        row = {'timestamp': str(ts[i]), 'servo': eachservo[i]}
        spamwriter.writerow(row)

我 plot 我的 csv 輸入的方式是這樣的:

    for csvname in glob.glob(os.path.join(path, '*.csv')):
        readcsv = pd.read_csv(csvname)
        sns.set(style="ticks")
        g = sns.catplot(x=timestamp, y=servo, data=readcsv)

我拿到的plot,內容是正確的,但是x和y的標題完全亂了: 在此處輸入圖像描述

但是,如果我將sns.catplot(x=timestamp, y=servo, data=readcsv)更改為sns.catplot(x='timestamp', y='servo', data=readcsv) ,它將報告一個 valueError 說ValueError: Could not interpret input 'timestamp' ,所以我堅持使用兩個列表作為 catplot 的參數。

我在這里犯了什么錯誤? 是我寫 csv 的方式導致了這個問題,還是我錯過了一些 catplot 參數?

編輯:

我找到了我的問題所在,這是因為我使用 csv.DoctWriter 寫了一個 csv 然后用 panda 讀取它。 我通過將 csv.DoctWriter 替換為 pandas to_csv來解決它。

我找到了我的問題所在,這是因為我使用csv.DoctWriter寫了一個 csv 然后用 panda 讀取它。 我通過將csv.DoctWriter替換為 pandas to_csv來解決它。

通過使用csv.DoctWriter with delimiterto = '|' 寫入並使用pd.read_csv , csv 中的列將被讀取為timestamp|servo而不是timestampservo

暫無
暫無

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

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