1.數據多的時候,excel容易翻白眼。
2.需要使用支線劇情函數或批處理時,使用MATLAB或Python更方便;
3.3.excel處理後的圖形在美觀上與紙質圖表標準有壹定距離。與MATLAB和Python的plot函數相比,從審美的角度來看,Python略占優勢。下面簡單介紹壹下將excel中的數據提取到Python中,用Python的matplotlib庫進行繪圖的過程。
1.如何將數據從Excel導入Python:
這部分主要介紹如何將Excel中的數據導入到python中(原始數據可能在。txt或者。出來的文件,而且數據很復雜。可以先用MATLAB或者python對數據進行處理,保存在Excel中,包括壹些簡單的計算和整理,方便後期繪圖,或者直接用python將數據提取在。txt,這裏不詳細描述)。主要方法是使用python的xlrd庫,過程如下:
#導入xlrd庫
導入xlrd
#讀取指定Excel文件中的數據(本例中為excel_dir)。
data = xlrd . open _ workbook(excel _ dir)
#讀取指定數據中的工作表(此處命名為sheetname)中的數據。
table=data.sheet_by_name(工作表名稱)
#讀取表中某壹列的數據
Needs=table.col_values(0)有幾點需要說明:
如何定義1.excel_dir和sheetname?
Excel_dir應該以字符串的格式書寫(即“”或“”),並且應該以Excel的後綴結尾,例如。xls或者。xlsx。例如,讀取管理員桌面上名為result.xls的文件可以寫成:
excel _ dir = ' C:UsersAdministratorDesktop
結果。xls的數據= xlrd。Open _ workbook (Excel _ dir)表名的定義方法同上,除了表的讀取方法按索引順序:
Table = data.sheets()[0] #按索引順序獲取。
Table = data.sheet_by_index(0) #按索引順序2獲取。如何讀取壹個單元格或壹行的數據?
所示的過程是讀取工作表中壹列的數據,同樣的,壹行的數據是:
Table.col_values(i)讀取單元數據的命令是:
Table.cell(i,j)。價值3。當讀取壹行或壹列數據時,數據區域是什麽?
例如,當工作表中的表格如下時,將讀取4×3表格中的數據。
也就是說,如果您想讀取B列中的數據,代碼應該編寫如下
Table.col_values(1)註意:python從0開始計數,所以列號應該是1,此時計數的信息是:[u ' ',u ' ',4,u'']。
請註意,表格的尺寸由每個工作表決定,如果excel表格有多個工作表,列表的長度可能會有所不同。
4.如果我想從壹列中取出2-5行,我該怎麽做?
桌子。col _ values (I) [1: 5] 5。想得到最後壹個數怎麽寫代碼?
由於各行/列的數據類型可能不同,可能會出現第壹列只有4位,第二列有9位,最列有100位的類似情況。如果直接使用取整列的命令,會在列表中混U ' ',導致下壹次繪圖錯誤。這時,可以使用以下方法:
a_col=table.col_values(i)
A=a_col[0,a_col.index(u'')]但是需要註意的是,該命令不能用於控制行數的列,否則會報錯,可以編寫其他判斷語句來確定是否使用該命令。
2.如何用Python畫畫;
介紹了用matplotlib庫繪圖的方法。首先,我們應該導入matplotlib庫:
導入numpy作為NP導入matplotlib。pyplot作為PLT的繪圖方法非常簡單,壹般過程如下:
# Drawing命令,1是圖號,並設置figsize。
fig_drift= plt.figure(1,figsize=(12,4))
#設置數據在X軸和Y軸上的坐標,以及顏色和標簽等屬性。這裏使用了兩組數據。
plt.plot(drift[0],story,“g-”,label='$Damped$ ')
plt.plot(drift[1],story," r-",label = ' $ Undamped $ ')
#設置X軸和Y軸的標簽
plt.xlabel('漂移')
plt.ylabel(“樓層”)
#選擇顯示數據組標簽
plt .圖例()
#設置X軸和Y軸的間隔和範圍。
plt.xticks((0.000,0.005,0.010,0.015))
plt.yticks(範圍(1,5,1))
#設置繪圖名稱
plt.title('minor ')
其中,有幾點需要說明:
1.如何繪制多個圖形?
很簡單,設置好圖紙名稱後,插入:
ax2 = plt.subplot(132)
plt.sca(ax2)之後的命令同上。值得壹提的是,plt.subplot(131)是指用1×3子圖繪制壹個圖,ax1代表第二個圖,而plt.sca(ax2)。
2.如何通過設置X軸、Y軸等命令來確定哪個圖像被賦予了屬性?
Matplotlib直接將該屬性賦給前壹個plot對象。
3.如何畫散點圖?
只需將pl.plot(x,y)改為pl.plot(x,y,' o ')。
4.其他設置參數:
#設置X軸和Y軸的上限和下限。
pl.xlim(i,j)
pl.ylim(m,n)
#顯示圖表
pl.show()
#保存圖表,並自動以png格式保存。
PLT。SaveFIG(目錄+名稱。PNG,DPI = 600)支持其他功能,比如設置X軸(Y軸)坐標顯示,繪制餅狀圖,直方圖等等,這裏就不介紹了。
3.說點跑題的:
曾經看過壹句話:“世界上沒有不好的語言,只有寫語言的壞人。”
每種語言都有自己的優缺點,在此不做過多評論。如何利用語言來實現繪畫或者實現更多的目標,取決於我們如何選擇。恰當地使用for或def、class等語句,可以讓壹段代碼如虎添翼,寫在這裏給自己壹個提醒:遇到問題,先明確方法,形成體系,再進入寫作,不要盲目地把看似正確的語言強行拼湊起來,返工率極高。
更多關於如何用Python繪制學術論文的文章請關註PHP中文網!