Matplotlib.pyplot 建立圖形、在圖形中建立建立一個繪圖區域、在繪圖區域中你那個繪製一些線、在圖形中新增標籤之類
畫二維平面圖
x = np.arange(0, 10, 2)
y1 = x
y2 = x ** 2
plt.plot(x, y1, '*g--') #g 表示顏色
plt.show()
同一個座標系裡畫多條線段
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0, 10, 2)
y1 = x
y2 = x ** 2
# 正常顯示中文
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']
plt.xlabel('自變數') # 若是使用 漢字,則顯示出錯
plt.ylabel('因變數')
plt.plot(x, y1, '*g--', y2, '^b-')
plt.legend(['y=x', '$y=x^2$'], loc='upper right') # 顯示每條線段的解釋, $$ 裡是 LaTeX語句
# 儲存圖片
plt.savefig('./Big Title.png')
# 防止圖片部分缺失 方法一 增大畫布
fig = plt.figure(figsize=(8,4))
# 防止圖片部分缺失 方法一 緊緻佈局
plt.tight_layout()
#增大解析度
plt.savefig('./Big Title.png', dpi=400)
plt.show()
分別放兩個框中
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0, 10, 2)
y1 = x
y2 = x ** 2
# 1.建立畫板fig
fig = plt.figure()
# 引數解釋,前兩個引數 1,2 表示建立了一個一行兩列的框 第三個參數列示當前所在的框
ax1 = fig.add_subplot(1, 2, 1)
ax2 = fig.add_subplot(1, 2, 2)
ax1.plot(x, y1, '*--', color="tab:blue")
ax2.plot(x, y2, '^-', color='tab:orange')
plt.show()
函式封裝
import matplotlib.pyplot as plt
def show_plot(x_name: list, precision: list, recall: list, f1: list, AUC: list, path):
plt.plot(x_name, precision, 'or-', recall, '^g-', f1, '*b-', AUC, '.y-.')
plt.legend(['precision', 'recall', 'f1', 'AUC'], loc='upper right')
plt.savefig(path, dpi=300)
plt.show()
pass
x_name = ['model1', 'model2', 'model3', 'model4']
y1 = [0.5, 0.6, 0.8, 0.9]
y2 = [0.6, 0.6, 0.85, 0.92]
y3 = [0.7, 0.66, 0.82, 0.91]
y4 = [0.8, 0.7, 0.82, 0.84, 0.93]
show_plot(x_name, y1, y2, y3, y4, r'test.png')
畫多條曲線
import numpy as np
import matplotlib.pyplot as plt
fig1 = plt.figure(num=1, figsize=(7, 5))
x = np.linspace(0.0, np.pi * 2, 20)
y = np.sin(x)
plt.plot(x, y, 'rx-', x, 2 * x, 'go-.') # 每條都指定x軸資料
fig2 = plt.figure(num=2)
plt.plot(x, y, 'rx-', 2 * x, 'go-.') # 一條指定x軸資料,其他不指定
fig2 = plt.figure(num=3)
plt.plot(y, 'rx-', 2 * x, 'go-.') # 都不指定
plt.show()
說明
format_string 控制曲線的格式字串,可選,由顏色字元
、風格
字元和標記
字元組成
顏色
字元 |
說明 |
字元 |
說明 |
字元 |
說明 |
'r' |
紅色 |
'g' |
綠色 |
'b' |
藍色 |
'c' |
青綠色 |
'k' |
黑色 |
'y' |
黃色 |
'w' |
白色 |
'm' |
洋紅色 |
|
|
風格
字元 |
說明 |
字元 |
說明 |
字元 |
說明 |
字元 |
說明 |
'-' |
實線 |
'–' |
破折線 |
'-.' |
點畫線 |
':' |
虛線 |
風格
字元 |
說明 |
字元 |
說明 |
字元 |
說明 |
'.' |
點標記 |
',' |
畫素標記 |
'o' |
實心圈標記 |
'v' |
倒三角標記 |
'^' |
上三角標記 |
'>' |
右三角標記 |
'<' |
左三角標記 |
'h' |
豎六邊形標記 |
'H' |
橫六邊形標記 |
'+' |
十字標記 |
'x' |
x標記 |
'D' |
菱形標記 |
'd' |
瘦菱形標記 |
'|' |
垂直線標記 |
'*' |
星形標記 |
'p' |
實心五角標記 |
's' |
實心方形標記 |
'4' |
右花三角標記 |
'3' |
左花三角標記 |
'2' |
上花三角標記 |
'1' |
下花三角標記 |
使用方法
plt.plot(x, y,'g')
plt.plot(x, y,color='green')
plt.plot(x, y,'go')
plt.plot(x, y,color='green',marker = 'o')
plt.plot(x, y,'go-.')