目錄
目錄
前言
本章節將講一下三個內容,圖例,網格,背景
(一)圖例legend
1.默認不帶參數的圖例
(1)說明:
默認情況下,是自適應的放在圖例的位置,需要在繪圖的時候,添加Label標識。
在使用plt.legend()顯示圖例
(2)源代碼:
# 導入模塊
import matplotlib.pyplot as plt
import numpy as np
# 數據
x = np.linspace(-5, 5, 50)
y1 = x
y2 = x**2
y3 = x**(1/2)
# 繪圖
plt.plot(x, y1, "--", label="y1")
plt.plot(x, y2, "o-", label="y2")
plt.plot(x, y3, "-.", label="y3")
# 展示圖例
plt.legend()
# 展示
plt.show()
(3)展示效果
2.添加參數的圖例
(1)可選參數
參數 | 說明 | 默認值 |
---|---|---|
loc=int\string | 圖例所在的位置 | 0 |
fontsize=int\string | 圖例的文字大小 | 當前文字的大小 |
facecolor='b' | 圖例的背景色 | 'w' |
edgecolor='b' | 圖例的邊框顏色 | 'w' |
title=string | 圖例的標題 | None |
shadow=bool | 是否顯示圖例的陰影 | False |
fancybox=bool | 是否顯示圓角 | False |
framealpha=float | 圖例的透明度 | None |
- 位置的參數值:可以使用字符串與數字
- 文字的大小值:'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large',或者直接用數字表示大小。
- 透明度的范圍:0.0~1.0,1.0是不透明,0.0是全透明,從0.0到1.0越來越不透明。
(2)源代碼:
# 導入模塊
import matplotlib.pyplot as plt
import numpy as np
# 數據
x = np.linspace(-5, 5, 50)
y1 = x
y2 = x**2
y3 = x**(1/2)
# 繪圖
plt.plot(x, y1, "--", label="y1")
plt.plot(x, y2, "o-", label="y2")
plt.plot(x, y3, "-.", label="y3")
# 展示圖例
plt.legend(loc='upper right',
fancybox=True,
title="l am legend",
edgecolor='r',
shadow=True,
fontsize='x-large',
facecolor='b',
framealpha=0.3)
# 展示
plt.show()
(3)輸出效果:
3.將圖例移動到框外
(1)說明:
bbox_to_anchor=(x, y) 可以移動到任意位置
x,y是float:0.0~1.0,表示是x,y軸的比例,x:左->右增大, y:下->上 增大
並且結合loc來確定位置。
(2)源代碼:
# 導入模塊
import matplotlib.pyplot as plt
import numpy as np
# 數據
x = np.linspace(-5, 5, 50)
y1 = x
y2 = x**2
y3 = x**(1/2)
# 繪圖
plt.plot(x, y1, "--", label="y1")
plt.plot(x, y2, "o-", label="y2")
plt.plot(x, y3, "-.", label="y3")
# 展示圖例
plt.legend(bbox_to_anchor=(1, 0.8), loc=3)
# 展示
plt.show()
(3)輸出效果:
(二)網格grid
1.說明
語法:plt.grid([可選參數])
可選參數 | 說明 | 默認值 |
---|---|---|
b=bool | 是否顯示網格 | Fales |
color='r' | 網線的顏色 | 'w' |
linestyle='--' | 網格的線形 | ‘-’ |
linewidth=1 | 網格的線寬 | 1 |
alpha=0.3 | 網線的透明度0.0~1.0 | 1 |
axis={"both",'x',"y"} | 表示在哪些方向軸上畫網線,x軸,y軸 | "both" |
which={"both","major","minor"} | 表示在哪些刻度上畫網線,主刻度,還是小刻度 | ”both" |
2.源代碼:
# 導入模塊
import matplotlib.pyplot as plt
import numpy as np
# 數據
x = np.linspace(-5, 5, 50)
y = x**2
# 繪圖
plt.plot(x, y)
# 設置網格線
plt.grid(b=True,
color='r',
linestyle='--',
linewidth=1,
alpha=0.3,
axis='x',
which="major")
# 展示
plt.show()
3.輸出效果
(三)背景axses
1.設置全局的背景色:
(1)說明:
- 設置figure窗體的顏色:plt.rcParams['figure.facecolor'] = 'color'
- 設置axes繪圖區的顏色:plt.rcParams['axes.facecolor'] = 'color'
(2)源代碼:
# 導入模塊
import matplotlib.pyplot as plt
import numpy as np
# 數據
x = np.linspace(-5, 5, 50)
y = x**2
# =====設置背景====
# 設置figure窗體的顏色
plt.rcParams['figure.facecolor'] = 'b'
# 設置axes繪圖區的顏色
plt.rcParams['axes.facecolor'] = 'g'
# 繪圖
plt.plot(x, y)
# 展示
plt.show()
(3)輸出效果:
2.設置局部的背景色
(1)說明:
獲取ax對象:ax = plt.gca()
設置ax區域背景顏色:ax.patch.set_facecolor("gray")
設置ax區域背景顏色透明度:ax.patch.set_alpha(0.5)
(2)源代碼:
# 導入模塊
import matplotlib.pyplot as plt
import numpy as np
# 數據
x = np.linspace(-5, 5, 50)
y = x**2
# 繪圖
plt.plot(x, y)
# =====設置背景====
# 得到ax對象
ax = plt.gca()
# 設置ax區域背景顏色
ax.patch.set_facecolor("gray")
# 設置ax區域背景顏色透明度
ax.patch.set_alpha(0.5)
# 展示
plt.show()