1、加載庫
import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt
2、繪制圖形
# 定義數據
np.random.seed(428) x = np.linspace(0.5, 3.5, 100) # 在 [a, b] 間隔均勻的 100 個數
y1 = np.sin(x) y2 = np.random.randn(100) # 圖表元素中正常顯示中文字符
mpl.rcParams['font.sans-serif'] = 'SimHei'
# 坐標軸刻度標簽正常顯示負號
mpl.rcParams['axes.unicode_minus'] = False # 設置畫布
fig = plt.figure(figsize=(14, 8), # 畫布大小
facecolor='lightyellow') # 畫布的背景色 # 折線圖
plt.plot(x, y1, ls='-.', lw=2, label='正弦曲線') # 散點圖
plt.scatter(x, y2, color='0.6', # 標記點的灰度值顏色
edgecolor='green', # 標記點的邊線顏色
linewidth=0.25, # 標記點邊線的寬度
label='散點') # 設置坐標軸的刻度范圍
plt.xlim(xmin=0, # x 軸上的最小值
xmax=4) # x 軸上的最大值
plt.ylim(ymin=-3, # y 軸上的最小值
ymax=3); # y 軸上的最大值
# 設置坐標軸標題
plt.xlabel(s='x 軸', size=12, color='cyan') plt.ylabel(s='y 軸', size=12, color='cyan') # 設置坐標軸刻度
plt.xticks(size=14, color='grey') plt.yticks(size=14, color='grey') # 設置圖形標題
plt.title(s='matplotlib 的圖形結構', # 標題的文本內容
size=18, # 標題文本的字體大小
color='k') # 標題文本的顏色
# 設置圖例
plt.legend(fontsize=14) # 添加水平參考線
plt.axhline(y=0, # 參考線的垂直與 y 軸的刻度
linestyle='--', # 參考線的線條風格 破折線
color='red', # 參考線的顏色 紅色
linewidth=2) # 參考線的線條寬度
# 添加垂直參考區域
plt.axvspan(xmin=1.0, # 參考區域的其實位置
xmax=2.0, # 參考區域的終止位置
facecolor='yellow', # 參考區域的填充顏色
alpha=0.3) # 參考區域填充顏色的透明度
# 添加指向型文本注釋 ## 對極值點的指向指向型注釋
plt.annotate(s='極大值點(π/2, 1)', # 注釋的內容文本
xy=(np.pi/2, 1), # 被注釋內容的坐標位置
xytext=(np.pi/2+1.0, 0.8), # 注釋文本的坐標位置
weight='bold', # 注釋文本的字體粗細風格
color='red', # 注釋文本的字體顏色
# 指示注釋內容的箭頭的屬性字典
arrowprops=dict(arrowstyle='->', # 箭頭風格
connectionstyle='arc3', color='red')) # 箭頭顏色
## 對區域的注釋 ### 箭頭
plt.annotate(s='區域', # 注釋的內容文本
xy=(0.75, -3), # 被注釋內容的坐標位置
xytext=(0.35, -2.25), # 注釋文本的坐標位置
weight='bold', # 注釋文本的字體粗細風格
color='blue', # 注釋文本的字體顏色
# 指示注釋內容的箭頭的屬性字典
arrowprops=dict(arrowstyle='->', # 箭頭風格
connectionstyle='arc3', color='blue')) # 箭頭顏色
### 箭頭
plt.annotate(s='', # 注釋的內容文本
xy=(0, -2.78), # 被注釋內容的坐標位置
xytext=(0.4, -2.32), # 注釋文本的坐標位置
# 指示注釋內容的箭頭的屬性字典
arrowprops=dict(arrowstyle='->', # 箭頭風格
connectionstyle='arc3', color='blue')) # 箭頭顏色
## 對刻度線的注釋
plt.annotate(s="'|'是刻度線", # 注釋的內容文本
xy=(3.5, -2.89), # 被注釋內容的坐標位置
xytext=(3.6, -2.7), # 注釋文本的坐標位置
size=10, # 字體大小
weight='bold', # 注釋文本內容的字體粗細風格
color='blue', # 注釋內容的字體顏色
# 指示注釋內容的箭頭的屬性字典
arrowprops=dict(arrowstyle='->', # 箭頭風格
connectionstyle='arc3', color='blue')) # 箭頭顏色
## 對刻度標簽的的注釋
plt.text(x=3.6, # 注釋內容所在的橫軸坐標
y=-2.95, # 注釋內容所在的縱軸坐標
s='3.5 是刻度標簽', # 注釋的文本內容
size=10, # 字體大小
weight='bold', # 注釋文本內容的字體粗細風格
color='blue'); # 注釋內容的字體顏色
# 設置網格線
plt.grid(b=True, ls=':', # 線條樣式為虛線
color='Magenta', # 網各線顏色為品紅
alpha=0.55); # 網格線透明度
圖形