Python基礎2
阿新 • • 發佈:2020-08-11
看的一本書:深度學習之PyTorch實戰計算機視覺。怕以後找不到,所以先放在這裡。
Matplotlib繪畫庫
在Notebook中演示
線性圖
import matplotlib.pyplot as plt import numpy as np %matplotlib inline np.random.seed(42) a = np.random.randn(30)
b = np.random.randn(30) plt.plot(a, "r--o", b,"b-*")
x = np.random.randn(30)生成30個隨機數比並賦值給變數x。
plt.plot(x, "r--o")將這30個隨機引數以點的方式回執出來並用線條進行連線。引數r--o標記引數點使用的形狀,連線點使用的線條顏色和線型。
用於設定線型圖中線條顏色的常用引數如下:
b 指定描繪的線條顏色為藍色
g 綠色
r 紅色
c 藍綠色
m 洋紅色
y 黃色
k 黑色
w 白色
用於設定線性圖中標記引數點形狀的常用引數如下:
o 指定標記實際使用點使用的形狀為圓形
* *型
+ +型
x x型
用於設定線性圖中連線引數點線型形狀的常用引數如下:
- 指定線條形狀為實線
-- 虛線
-. 點實線
: 點線
標籤和圖例
plt.title("tablename")
標籤的顯示程式碼:plt.xlabel("X") plt.ylabel("Y")
圖例的顯示程式碼:plt.legend([X,Y],["X","Y"]) 第一個列表引數是在圖中實際使用的標記和線型,第2個列表引數是對應圖例的文字描述
子圖(Subplot)
a = np.random.randn(30) b = np.random.randn(30) c = np.random.randn(30) d = np.random.randn(30) fig = plt.figure() ax1 = fig.add_subplot(2,2,1) ax2 = fig.add_subplot(2,2,2) ax3 = fig.add_subplot(2,2,3) ax4 = fig.add_subplot(2,2,4) A, = ax1.plot(a, "r--o") ax1.legend([A], ["A"]) #BCD一樣的,略寫了
fig = plt.figure()定義了一個例項,向該例項中新增子圖。(2,2, 1)前兩個數字表示把整塊圖分成了兩行兩列,最後一個數字表示具體使用哪一張子圖進行繪製
散點圖(scatter)
import matplotlib.pyplot as plt import numpy as np %matplotlib inline np.random.seed(42) x = np.random.randn(30) y = np.random.randn(30) plt.scatter(x,y,c="g", marker="o", label="(X,Y)") plt.title("Example") plt.xlabel("X") plt.ylabel("Y") plt.legend(loc=1) plt.show()
plt.scatter(x,y,c="g", marker="o", label="(X,Y)")為核心程式碼。
c 引數點顏色
marker 引數點形狀
label 引數點使用的圖例
plt.legend(loc=1)對圖例的位置進行設定。loc=0,最好的位置;1右上角的位置;2左上角;3左下角;4右下角位置
直方圖(Histogram)
import matplotlib.pyplot as plt import numpy as np %matplotlib inline np.random.seed(42) x = np.random.randn(1000) plt.hist(x, bins=20, color="g") plt.title("Example") plt.xlabel("X") plt.ylabel("Y") plt.show()
核心程式碼:plt.hist(x, bins=20, color="g"),bins用於指定我們繪製的直方圖條紋的數量。
餅圖
import matplotlib.pyplot as plt labels = ['Dogs', 'Cats', 'Birds'] size = [15, 50, 35] #所佔百分比 plt.pie(sizes, explode=(0,0,0.1), labels=labels, autopct='%1.1f%%', startangle=90) plt.axis('equal') plt.show()
核心程式碼:
plt.pie(sizes, explode=(0,0,0,1), labels=labels, autopct='%1.1f%%', startangle=90)
sizes三個數字確定每部分所佔比例;
explode設定為0,0,0.1就能突出第三部分
autopct將sizes中的資料浮點精度進行顯示
startangle繪製第一塊餅圖時與x軸正方向的夾角度數
plt.axis('equal')是必不可少的,用於保證x軸和y軸的刻度保持一樣,保證餅圖是圓的