Matplotlib基础(part2)--图形对象
生活随笔
收集整理的這篇文章主要介紹了
Matplotlib基础(part2)--图形对象
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
學習筆記,這個筆記以例子為主。
編輯器:EditPlus
文章目錄
- 圖形對象(圖形窗口)
- 案例1(繪制一個窗口)
- 案例2(繪制兩個窗口)
- 設置當前窗口的參數
- 子圖
- 矩陣式布局(不支持單元格合并)
- 網格式布局(支持單元格合并)
- 自由式布局
- 刻度定位器
- 刻度網格線
- 半對數坐標
圖形對象(圖形窗口)
- 繪制圖形窗口語法
案例1(繪制一個窗口)
代碼:
import matplotlib.pyplot as mpmp.figure('窗口標題欄文本',figsize = (4, 3),dpi = 120,facecolor = 'r')mp.show()圖像:
備注:mp.figure方法不僅可以構建一個新窗口,如果已經構建過title='A’的窗口,又使用figure方法構建了title=‘A’ 的窗口的話,mp將不會創建新的窗口,而是把title='A’的窗口置為當前操作窗口。
案例2(繪制兩個窗口)
代碼:
import matplotlib.pyplot as mpmp.figure('Figure A', facecolor = 'gray') mp.figure('Figure B', facecolor = 'lightgray')mp.show()圖像:
設置當前窗口的參數
- 語法
- 舉個例子
代碼:
import matplotlib.pyplot as mpmp.figure('Figure B', facecolor = 'lightgray') # 設置圖表標題 顯示在圖表上方 mp.title('Figure A', fontsize=15) # 設置水平軸的文本 mp.xlabel('X', fontsize=12) # 設置垂直軸的文本 mp.ylabel('Y', fontsize=12) # 設置刻度參數 labelsize設置刻度字體大小 mp.tick_params(labelsize= 10) # 設置圖表網格線 mp.grid(linestyle='--') # 設置緊湊布局,把圖表相關參數都顯示在窗口中 mp.tight_layout() mp.show()圖像:
子圖
矩陣式布局(不支持單元格合并)
- 語法
圖示:
- 例子(繪制9宮格)
代碼:
import matplotlib.pyplot as mpmp.figure('Subplot', facecolor='lightgray')for i in range(1, 10):mp.subplot(3, 3, i)mp.text(0.5, 0.5, i, size=36, ha='center',va='center')mp.xticks([]) #mp.xticks()為設置x軸刻度mp.yticks([]) #mp.yticks()為設置y軸刻度mp.tight_layout()mp.show()圖像:
網格式布局(支持單元格合并)
- 語法
- 例子
代碼:
import matplotlib.pyplot as mp import matplotlib.gridspec as mgmp.figure('GridLayout', facecolor='lightgray') #拆分成3行3列 gridsubs = mp.GridSpec(3, 3) # 合并0行、0和1列為一個子圖 mp.subplot(gridsubs[0, :2]) mp.text(0.5, 0.5, 1, ha='center', va='center', size=36) mp.tight_layout() mp.xticks([]) mp.yticks([])mp.show()圖像:
自由式布局
- 語法
- 例子
代碼:
import matplotlib.pyplot as mp import matplotlib.gridspec as mgmp.figure('FlowLayout', facecolor='lightgray')mp.axes([0.08, 0.08, 0.6, 0.5]) mp.xticks([]) mp.yticks([]) mp.axes([0.08, 0.6, 0.6, 0.3]) mp.xticks([]) mp.yticks([])mp.show()圖像:
刻度定位器
- 語法
常用刻度器如下:
# 空定位器:不繪制刻度 mp.NullLocator() # 最大值定位器:最多繪制nbins+1個刻度 mp.MaxNLocator(nbins=3) # 定點定位器:根據locs參數中的位置繪制刻度 mp.FixedLocator(locs=[0, 2.5, 5, 7.5, 10]) # 自動定位器:由系統自動選擇刻度的繪制位置 mp.AutoLocator() # 索引定位器:由offset確定起始刻度,由base確定相鄰刻度的間隔 mp.IndexLocator(offset=0.5, base=1.5) # 多點定位器:從0開始,按照參數指定的間隔(缺省1)繪制刻度 mp.MultipleLocator() # 線性定位器:等分numticks-1份,繪制numticks個刻度 mp.LinearLocator(numticks=21) # 對數定位器:以base為底,繪制刻度 mp.LogLocator(base=2)- 例子(繪制一個數軸)
代碼:
import matplotlib.pyplot as mp import matplotlib.gridspec as mgmp.figure('Locators', facecolor='lightgray') # 獲取當前坐標軸 ax = mp.gca() # 隱藏除底軸以外的所有坐標軸 ax.spines['left'].set_color('none') ax.spines['top'].set_color('none') ax.spines['right'].set_color('none') # 將底坐標軸調整到子圖中心位置 ax.spines['bottom'].set_position(('data', 0))mp.xlim(0, 10) mp.yticks([]) # 設置水平坐標軸的主刻度定位器 ma_loc = mp.MultipleLocator(1) ax.xaxis.set_major_locator(ma_loc) # 設置水平坐標軸的次刻度定位器為多點定位器,間隔0.1 mi_loc = mp.MultipleLocator(0.1) ax.xaxis.set_minor_locator(mi_loc) # 標記所用刻度定位器類名 mp.show()圖像:
刻度網格線
- 語法
- 舉個例子
繪制曲線y = [1, 10, 100, 1000, 100, 10, 1],然后設置y軸刻度網格線。
代碼:
import numpy as np import matplotlib.pyplot as mpy = [1, 10, 100, 1000, 100, 10, 1] mp.figure('Grid Line', facecolor='lightgray') # 設置刻度定位器 ax = mp.gca() y_ma_loc = mp.MultipleLocator(250) ax.yaxis.set_major_locator(y_ma_loc) y_mi_loc = mp.MultipleLocator(50) ax.yaxis.set_minor_locator(y_mi_loc)# 設置刻度網格線 ax.grid(which='major', axis='y',linewidth=0.75, color='orangered',linestyle='-') ax.grid(which='minor', axis='y',linewidth=0.25, color='orangered',linestyle='-')mp.plot(y, 'o-', color='dodgerblue') mp.show()圖像:
半對數坐標
- 舉個例子
y軸將以指數方式遞增。基于半對數坐標繪制第2個子圖,表示曲線:y = [1, 10, 100, 1000, 100 10, 1]
代碼:
import numpy as np import matplotlib.pyplot as mpy = [1, 10, 100, 1000, 100, 10, 1] mp.figure('Grid Line', facecolor='lightgray')mp.subplot(211) # 設置刻度定位器 ax = mp.gca() y_ma_loc = mp.MultipleLocator(250) ax.yaxis.set_major_locator(y_ma_loc) y_mi_loc = mp.MultipleLocator(50) ax.yaxis.set_minor_locator(y_mi_loc)# 設置刻度網格線 ax.grid(which='major', axis='y',linewidth=0.75, color='orangered',linestyle='-') ax.grid(which='minor', axis='y',linewidth=0.25, color='orangered',linestyle='-')mp.plot(y, 'o-', color='dodgerblue')mp.subplot(212) # 設置刻度定位器 ax = mp.gca() y_ma_loc = mp.MultipleLocator(250) ax.yaxis.set_major_locator(y_ma_loc) y_mi_loc = mp.MultipleLocator(50) ax.yaxis.set_minor_locator(y_mi_loc)# 設置刻度網格線 ax.grid(which='major', axis='both',linewidth=0.75, color='orangered',linestyle='-') ax.grid(which='minor', axis='both',linewidth=0.25, color='orangered',linestyle='-')# 半對數坐標顯示圖形 mp.semilogy(y, 'o-', color='dodgerblue')mp.show()圖像:
總結
以上是生活随笔為你收集整理的Matplotlib基础(part2)--图形对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微云分享链接怎么删除 微云如何取消分享链
- 下一篇: numpy基础(part3)--加载文件