本節提要:回顧複習,新的調整命令。
一、回顧複習
前面講到Python庫包的下載與安裝,推薦使用conda命令進行安裝,通過conda list查看當前已經安裝好的庫包及版本。
畫圖步驟:①import ###引入庫包###
②fig=plt.figure() ###準備畫布###
③讀取數據
④ax=fig.add_subplot() ###添加作圖區###
⑤繪製圖形
⑥plt.show() ###展示圖形###
畫布figure及其參數、繪圖區axes、多子圖的繪製命令(subplots)。
常用的折線圖plot的基礎參數(linestyle、linewidth、color、alpha、marker)
一個解決因為單位不一致導致出圖畸形的小命令twin。
二、新的內容
今天主要講解坐標軸網格線和標題、圖例、合併兩幅子圖的橫坐標並取消空白:A、坐標軸在不設置時,會自動根據數據的大小進行最合適的展示(當然只是電腦認為最合適的),但沒有坐標軸的名字,大多數時候需要定製坐標軸。
定製坐標軸名,通過xlabel('你需要設置的內容')或者ylabel('你需要設置的內容')進行設置;定製標題,可以通過title('你需要添加的標題')。下面這個小程序講解:fig=plt.figure(figsize=(2,2))fig,ax=plt.subplots(dpi=200)ax.plot(x,tem,c='k',lw=1,ls='-',marker='d')這是一張素圖,沒有任何設置,是電腦判定的最佳展示,現在通過下面語句定製化出圖:ax.set_title('實驗氣溫圖')ax.set_xlabel('時間')ax.set_ylabel('氣溫 ℃')這樣就進行了一番簡單的定製化。現在看來似乎x,y軸名稱字號偏小,可以通過字典參數方式進行調節:font={'size':20,'color':'red'}ax.set_xlabel('時間',fontdict=font)ax.set_ylabel('氣溫 ℃',fontdict=font)在字典中存儲需要修改的的參數名稱和指定值大小,在這個圖中,我將字號(size)修改為20,將顏色(color)修改為紅色。當然,字典裡還可以存放更多的參數,這裡只修改了兩種,剩下讀者可自行探索。另外,matplotlib中還可以顯示網格線,命令為ax.grid()
grid()中還可以進行設置,比如開啟虛線ax.grid(ls='--')
還可以指定是否開啟x,y軸網格線ax.grid(True,axis='y')
B、在昨天繪製的觀測圖中,出現了三種樣式,為了區分識別他們,在圖中添加了圖例:plt.legend((line1,bar1,line2),('氣溫','降水量','氣壓'),loc='center left')添加圖例的命令是legend(),前面是圖上的線條和柱形圖的名稱,後面是你指定的顯示出來的名稱,注意應當一一對應。
C、昨天講解了如何在同一子圖中合併橫坐標軸,那用到了twin命令。今天將了解如何合併兩幅子圖的坐標軸,這幅圖展示了去年月平均氣溫和累年月平均氣溫距平變化。fig,((ax1),(ax2))=plt.subplots(2,1,figsize=(5,5),dpi=200,sharex='all')fig.subplots_adjust(hspace=0)line1,=ax1.plot(x,tem,color='k',lw=1.5,ls='--')bar1=ax2.bar(x,Anomaly,color=np.where(Anomaly>0,'red','b'))ax1.set_ylabel('月平均氣溫 ℃')ax2.set_ylabel('氣溫距平 ℃')ax2.set_xlabel('月份')ax2.set_xticks(x)plt.show()注意第一排中的sharex='all'命令,這是令兩幅子圖共享x軸。而第二排中的命令,指令兩個之間的空白等於0。
改動前(素圖):
在繪製氣溫距平的柱狀圖時,如何使正負柱體的顏色不一致呢。numpy中提供了一個np.where(判定語句,符合判定語句返回值,不符合判定語句返回值)命令,如何理解這個命令,通過一個測試演示:在本程序中,指令判斷距平是否大於零,大於零返回「red」,否則返回「blue」。