2017-05-05 220 views
0

我想將值繪製到X和Y軸上。我不想把圖中的任何數據,只是標註軸心國與時間和DID(如下圖所示)將字符串轉換爲浮點數

這裏是我的代碼:

import pandas as pd 
import matplotlib.pyplot as plt 
from matplotlib import style 
style.use('ggplot') 


df = pd.read_csv('Test_Sheet_1.csv') 

Time = df.ix[8:, 1] 
print(Time) 

DID = df.ix[1, 6:13] 
print(DID) 

ax1 = plt.subplot2grid((6,6), (0,0), rowspan=6, colspan=6) 

ax1.plot(Time) 

plt.show() 

,我收到此錯誤:

could not convert string to float 

我想要放在x和y軸上的是字母,而不是數字,所以這個錯誤是有效的。我該如何解決這個問題?有沒有簡單的方法來繪製這些DID和時間從圖中沒有得到這個錯誤?

此外,我是python新手,一般編碼,所以如果我的問題不清楚,請讓我知道,我會盡我所能來解決它​​。

+0

錯誤來自哪裏? – rassar

+1

我感謝你沒有得到一個答案,上次你問這個問題,但你仍然不應該重複你的問題http://stackoverflow.com/questions/43806027/could-not-convert-string-to-float-error –

回答

0

既然你說在這個階段你不想把任何數據放在圖上,不要用plot,因爲那是plot的用途。

一般而言,自定義x軸的位置和標籤蜱,可以設置xticksxticklabels特性分別爲:

ax1.set(xticks=[0.33, 0.66], xticklabels=['abcd', 'efgh']) 
plt.draw() 

(同樣,使用yticksyticklabels爲y軸和ztickszticklabels)。

更具體地說,如果你想要顯示數據作爲時間/日期的函數,matplotlib有各種更高級別的庫工具來幫助你很好地渲染日期。 Here's an example.