[英]Seaborn Catplot only changing the X and Y labels on 1 of the rows
[英]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)
但是,如果我將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
而不是timestamp
和servo
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.