使用scatter( )繪製散點圖並設置其樣式
有時候,需要繪製散點圖並設置各個數據點的樣式。例如,你可能想以一種顏色顯示較小的值,而用另一種顏色顯示較大的值。繪製大型數據集時,你還可以對每個點都設置同樣的樣式。再使用不同的樣式選項重新繪製某些點以突出它們。
要繪製單個點,可以使用函數scatter( ),並向它傳遞一對x和y坐標,它將在指定位置繪製一個點。
下面我們來設置輸出的樣式,使其更有趣:添加標題,給軸加上標籤,並確保所有文本都大到能夠看清:
在這裡,我們調用了scatter( )函數,並使用實參s設置了繪製圖形時使用的點的尺寸。如果此時運行了我們這個程序,就將看到如上所示的圖表中間的一個點。
使用scatter( )繪製一系列點
要繪製一系列點,可以向scatter( )函數傳遞兩個分別包含x值和y值的列表,如下所示:
列表x_values包含要計算其平方值的數字,而列表y_values包含前面說的每個數字的平方值。將這些倆表傳遞給scatter( )時,matplotlib依次從每個列表中讀取一個值來繪製一個點。要繪製的點的坐標分別(1,1)、(2,4)、(3,9)、(4,16)和(5,25),最終的結果如上所示。
自動計算數據
手工計算列表要包含的值可能計算效率較低,需要繪製的點很多時尤其如此。可以不用手工計算包含點坐標的列表,而讓Python循環來替我們完成這種計算。下面是繪製一千個點的代碼:
我們首先創建了一個包含x值的列表,其中包含數字1~1000。接下來是生成y值的解析列表,它遍歷x的值,計算其平方值(x**2),並將結果存儲到列表y_values中。然後,將輸入列表和輸出列表傳遞給scatter( )函數。
由於這個數據集比較大,因此,我們將點設置的比較小,並使用axis( )函數制定了每個坐標軸的取值範圍。函數axis( )要求提供四個值,x和y坐標的最大值和最小值。在這裡,我們將x坐標軸的範圍設置為0-1100,y坐標軸的取值範圍設置為0-1100000。結果如上所示。