1. 程式人生 > 實用技巧 >Python基礎2

Python基礎2

看的一本書:深度學習之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軸的刻度保持一樣,保證餅圖是圓的