python 用 matplotlib 繪制組合圖形 1


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);    # 網格線透明度

圖形


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM