Python開發【模組】:matplotlib 繪製折線圖,pythonmatplotlib
matplotlib
1、安裝matplotlib
① linux系統安裝
# 安裝matplotlib模組$ sudo apt-get install python3-matplotlib# 如果是python2.7 執行如下命令$ sudo apt-get install python-matplotlib# 如果你安裝較新的Python,安裝模組一樂的一些庫$ sudo apt-get install python3.5-dev python3.5-tk tk-dev$ sudo apt-get install libfreetype6-dev g++# 再使用pip來安裝模組$ pip install --user matplotlib
② OS系統中安裝
# 安裝matplotlib模組$ pip install --user matplotlib
③ windows系統中安裝
# 安裝matplotlib模組$pip3 install matplotlib
進入終端執行import matplotlib 不報錯表示執行成功
2、繪製簡單的折線圖
① 建立mpl_squares.py檔案:
import matplotlib.pyplot as plt # 匯入模組squares = [1,4,9,16,25] # 指定列表Y座標為列表中的值,X座標為列表下標plt.plot(squares) # 傳入列表plt.show() # 輸出映像
繪圖:
② 修改標籤文字和線條寬度:
import matplotlib.pyplot as plt # 匯入模組squares = [1,4,9,16,25] # 指定列表Y座標為列表中的值,X座標為列表下標plt.plot(squares,linewidth=5) # linewidth決定繪製線條的粗細plt.title('Square Numbers',fontsize=24) # 標題plt.xlabel('Vaule',fontsize=14)plt.ylabel('Square of Vaule',fontsize=14)plt.tick_params(axis='both',labelsize=14) # 刻度加粗plt.show() # 輸出映像
繪圖:
③ 校正圖形(設定X座標):
import matplotlib.pyplot as plt # 匯入模組squares = [1,4,9,16,25] # 指定列表Y座標為列表中的值input_values = [1,2,3,4,5]plt.plot(input_values,squares,linewidth=5) # linewidth決定繪製線條的粗細plt.title('Square Numbers',fontsize=24) # 標題plt.xlabel('Vaule',fontsize=14)plt.ylabel('Square of Vaule',fontsize=14)plt.tick_params(axis='both',labelsize=14) # 刻度加粗plt.show() # 輸出映像
繪圖:
3、繪製散佈圖
① 建立scatter_sqares.py:
import matplotlib.pyplot as pltplt.scatter(2,4,s=200) #X座標2,Y座標4 S=200 點大小plt.title('Square Numbers',fontsize=24) # 標題plt.xlabel('Vaule',fontsize=14)plt.ylabel('Square of Vaule',fontsize=14)plt.tick_params(axis='both',labelsize=14) # 刻度加粗plt.show() # 輸出映像
繪圖:
② 繪製一系列點:
import matplotlib.pyplot as pltx_values = [1,2,3,4,5] # 指定X軸y_values = [1,4,9,16,25] # 指定Y軸plt.scatter(x_values,y_values,s=100)--snip---plt.show() # 輸出映像
繪圖
③ 自動計算資料:
import matplotlib.pyplot as pltx_values = list(range(1,1001)) # 指定X軸y_values = [x**2 for x in x_values] # 指定Y軸plt.scatter(x_values,y_values,s=1,edgecolors='none') #edgecolors 刪除資料點輪廓plt.title('Square Numbers',fontsize=24) # 標題plt.xlabel('Vaule',fontsize=14)plt.ylabel('Square of Vaule',fontsize=14)plt.axis([0,1100,0,1100000]) # 設定座標取值範圍plt.tick_params(axis='both',labelsize=14) # 刻度加粗plt.show() # 輸出映像
繪圖:
④ 自訂色彩
要修改資料點顏色,可向scatter()傳遞參數c,並將其設定為要使用的顏色的名稱
plt.scatter(x_values,y_values,s=1,edgecolors='none',c='red') # 紅色
你還可以使用RGB顏色模式自訂色彩,要指定自訂色彩,傳入一個元祖,分別表示紅色,綠色,藍色,0~1範圍,值越接近0,指定的顏色越深,值越接近1,指定的顏色越淺
plt.scatter(x_values,y_values,s=1,edgecolors='none',c=(0,0,0.8)) # 藍色
顏色映射-漸層色
import matplotlib.pyplot as pltx_values = list(range(1,1001)) # 指定X軸y_values = [x**2 for x in x_values] # 指定Y軸plt.scatter(x_values,y_values,c=y_values,cmap=plt.cm.Blues,s=1,edgecolors='none',) # 從淺藍色到深藍色plt.title('Square Numbers',fontsize=24) # 標題plt.xlabel('Vaule',fontsize=14)plt.ylabel('Square of Vaule',fontsize=14)plt.axis([0,1100,0,1100000]) # 設定座標取值範圍plt.tick_params(axis='both',labelsize=14) # 刻度加粗plt.show() # 輸出映像
繪圖: