数据可视化|实验一 绘图基础语法和常用参数
1.繪制函數“ y=x^2 ”與“ y=x ”圖形
import matplotlib.pyplot as plt import numpy as np fig = plt.figure(figsize = (6, 6), dpi = 80) # 創建畫布。大小為 6 × 6 ,像素為 80 x = np.linspace(0, 1, 1000) fig.add_subplot(2, 1, 1) # 分為 2 × 1 圖形陣,選擇第 1 張圖片繪圖 plt.title('y=x^2 & y=x') # 添加標題 plt.xlabel('x') # 添加 x 軸名稱‘ x ’ plt.ylabel('y') # 添加 y 軸名稱‘ y ’ plt.xlim((0, 1)) # 指定 x 軸范圍( 0,1 ) plt.ylim((0, 1)) # 指定 y 軸范圍( 0,1 ) plt.xticks([0, 0.3, 0.6, 1]) # 設置 x 軸刻度 plt.yticks([0, 0.5, 1]) # 設置 y 軸刻度 plt.plot(x, x ** 2) plt.plot(x, x) plt.legend(['y=x^2', 'y=x']) # 添加圖例 plt.savefig('./tmp/整體流程繪圖.png') # 保存圖片 plt.show()2.使用自編函數繪圖并添加文本
通常情況下,在使用不同的數據重復的繪制同樣的圖形時,選擇自編函數來進行繪圖。有時候也會需要在圖上添加文本標注。pyplot 模塊中,使用 matplotlib.pyplot.text() 函數能夠在任意位置添加文本,其使用基本語法如下。
matplotlib.pyplot.text (x, y, s, fontdict=None, withdash=False, **kwargs)
3.使用 use 函數就可以直接設置預設風格
Matplotlib 中, pyplot 的一個子模塊 style 里面定義了很多預設風格,方便進行風格轉換。每一個預設的風格 style 都儲存在一個以 .mplstyle 為后綴的 style 文件。我們可以在 stylelib 文件夾中查看。
通過 print(plt.style.available) 命令可以查看所有預設風格的名稱,使用 use 函數就可以直接設置預設風格。
查看預設風格:
使用預設風格:
當然也能新建 mplstyle 文件來自定義繪圖風格。在 stylelib 文件夾下創建好文件并按照規范配置屬性同樣能夠使用 use 函數來調用該風格。
4.動態 rc 參數
1.線條常用的 rc 參數
管理線條屬性的 rc 參數 lines 幾乎可以控制線條的每一個細節, 線條常用的 rc 參數修改前后對比示例如下代碼:
import matplotlib as mpl pic = plt.figure(dpi = 80, figsize = (6, 6)) x = np.linspace(0, 1, 1000) # 繪制第一張圖(從左往右從上到下) pic.add_subplot(2, 2, 1) # 繪制 2 × 2 圖形陣中第 1 張圖片 plt.rcParams['lines.linestyle'] = '-.' # 修改線條類型 plt.rcParams['lines.linewidth'] = 1 # 修改線條寬度 plt.plot(x, x ** 2) plt.title('y = x^2') # 繪制第二張圖 pic.add_subplot(2, 2, 2) mpl.rc('lines', linestyle = '--', linewidth = 10) # 以 matplotlib.rc() 函數命令方式修改 rc 參數 plt.plot(x, x ** 2) plt.title('y = x^2') # 繪制第三張圖 pic.add_subplot(2, 2, 3) plt.rcParams['lines.marker'] = None # 修改線條上點的形狀 plt.rcParams['lines.linewidth'] = 3 plt.plot(x, x ** 2) plt.title('y = x^2') # 繪制第四張圖 pic.add_subplot(2, 2, 4) plt.rcParams['lines.linestyle'] = ':' plt.rcParams['lines.linewidth'] = 6 plt.plot(x, x ** 2) plt.title('y = x^2') plt.savefig('./tmp/線條rc參數對比.png') plt.show()
針對線條常用的 rc 參數名稱、解釋與取值如表:
其中 lines.linestyle 參數 4 種取值的意義:
lines.marker 參數的 20 種取值及其所代表的意義:
2.坐標軸常用的 rc 參數
同樣,管理坐標軸屬性的 rc 參數 axes 也能控制坐標軸的任意細節。坐標軸常用的 rc 參數修改如下代碼:
x = np.linspace(0, 10, 1000) plt.plot(x, np.sin(x)) plt.show() x = np.linspace(0, 10, 1000) plt.rcParams['axes.edgecolor'] = 'b' # 軸顏色設置為藍色 plt.rcParams['axes.grid'] = True # 添加網格 plt.rcParams['axes.spines.top'] = False # 去除頂部軸 plt.rcParams['axes.spines.right'] = False # 去除右側軸 plt.rcParams['axes.xmargin'] = 0.1 # x 軸余留為區間長度的 0.1 倍 plt.plot(x, np.sin(x)) plt.show()
更多的坐標軸常用 rc 參數名稱、接收、取值如下:
3.字體常用的 rc 參數
由于默認的 pyplot 字體并不支持中文字符的顯示,因此需要通過修改 font.sans-serif 參數來修改繪圖時的字體,使得圖形可以正常顯示中文。同時,由于修改字體后,會導致坐標軸中負號“ - ”無法正常顯示,因此需要同時修改 axes.unicode_minus 參數。參數修改前后對比如下代碼:
# 原圖 x = np.arange(0, 10, 0.2) y = np.sin(x) fig = plt.figure() fig.add_subplot(111) plt.title('sin 曲線 ') plt.plot(x, y) plt.savefig('./tmp/sin曲線1.png') plt.show() # 修改參數后 plt.rcParams['font.sans-serif'] = 'SimHei' # 設置字體為 SimHei plt.rcParams['axes.unicode_minus'] = False # 解決負號“ - ”顯示異常 plt.title('sin 曲線 ') plt.plot(x, y) plt.savefig('./tmp/sin曲線2.png') plt.show()
除字體與符號編碼參數外,更多的字體常用 rc 參數 名稱、接收、取值如下表:
如果希望 rc 參數恢復到缺省的配置( matplotlib 載入時從配置文件讀入的配置),可以調用 matplotlib.rcdefaults() 函數。
總結
以上是生活随笔為你收集整理的数据可视化|实验一 绘图基础语法和常用参数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LG 公布新款 38BQ85C 带鱼屏显
- 下一篇: 数据可视化|实验二 分析特征间关系