學習打卡2-藝術畫筆見乾坤
一、概述
1.matplotlib的三層api
matplotlib的原理或者說基礎邏輯是,用Artist物件在畫布(canvas)上繪製(Render)圖形。 就和人作畫的步驟類似:
1.準備一塊畫布或畫紙
2.準備好顏料、畫筆等製圖工具
3.作畫
所以matplotlib有三個層次的API:
- matplotlib.backend_bases.FigureCanvas 代表了繪圖區,所有的影像都是在繪圖區完成的
- matplotlib.backend_bases.Renderer 代表了渲染器,可以近似理解為畫筆,控制如何在 FigureCanvas 上畫圖。
- matplotlib.artist.Artist 代表了具體的圖表元件,即呼叫了Renderer的介面在Canvas上作圖。 前兩者處理程式和計算機的底層互動的事項,第三項Artist就是具體的呼叫介面來做出我們想要的圖,比如圖形、文字、線條的設定。所以通常來說,我們95%的時間,都是用來和matplotlib.artist.Artist類打交道的。
2.Artist的分類
Artist有兩種型別:primitives 和containers。
primitive是基本要素,它包含一些我們要在繪圖區作圖用到的標準圖形物件,如曲線Line2D,文字text,矩形Rectangle,影像image等。
container是容器,即用來裝基本要素的地方,包括圖形figure、座標系Axes和座標軸Axis。他們之間的關係如下圖所示:
3.matplotlib標準用法
matplotlib的標準使用流程為:
- 建立一個Figure例項
- 使用Figure例項建立一個或者多個Axes或Subplot例項
- 使用Axes例項的輔助方法來建立primitive
值得一提的是,Axes是一種容器,它可能是matplotlib
API中最重要的類,並且我們大多數時間都花在和它打交道上。更具體的資訊會在之後容器小節說明。
一個流程示例及說明如下:
import matplotlib.pyplot as plt
import numpy as np
# step 1
# 我們用 matplotlib.pyplot.figure() 建立了一個Figure例項
fig = plt.figure()
# step 2
# 然後用Figure例項建立了一個兩行一列(即可以有兩個subplot)的繪圖區,並同時在第一個位置建立了一個subplot
ax = fig.add_subplot(2, 1, 1) # two rows, one column, first plot
# step 3
# 然後用Axes例項的方法畫了一條曲線
t = np.arange(0.0, 1.0, 0.01)
s = np.sin(2*np.pi*t)
line, = ax.plot(t, s, color='blue', lw=2)
相關文章
- Task02:藝術畫筆見乾坤(4天)
- JavaScript DOM 程式設計藝術 學習筆記01JavaScript程式設計筆記
- JavaScript DOM 程式設計藝術 學習筆記 02JavaScript程式設計筆記
- 《Fluid Engine Development》 學習筆記2-基礎UIdev筆記
- 每日學習打卡
- 【Go】Go語言學習筆記-2-函式Go筆記函式
- MoveIt! 學習筆記2- MoveIt! Commander Scripting(命令列控制)筆記命令列
- 【打卡學習python】-20200302Python
- QT學習筆記4(動畫)QT筆記動畫
- 組隊打卡學習csappAPP
- RT-Thread學習筆記2-互斥量與訊號量thread筆記
- JavaScript 藝術之美(一)序言和 JavaScript 語法(卞懂的學習筆記)JavaScript筆記
- 機器學習2-特徵工程機器學習特徵工程
- 【Task01】Numpy學習打卡
- 【Task04】Numpy學習打卡
- 【Task02】Numpy學習打卡
- 【Task03】Pandas學習打卡
- 第50天學習打卡(JavaScript)JavaScript
- 學習打卡 第六天
- 機器學習中資料清洗的藝術機器學習
- 機器學習程式碼筆記-2-簡單線性迴歸機器學習筆記
- 百度影像分割7日打卡訓練營學習筆記筆記
- 打卡華熙LIVE五棵松亞洲數字藝術展,體驗數字藝術的炫酷
- Python學習之路2-列表介紹Python
- Python演算法學習2-序列Python演算法
- Unreal學習筆記2-繪製簡單三角形Unreal筆記
- 前端學習筆記----canvas實現畫板及定製畫筆(畫筆錯位,撤回,粗細,顏色)前端筆記Canvas
- elasticsearch 學習筆記之二 常見介面Elasticsearch筆記
- 圖神經網路七日打卡營學習筆記及心得神經網路筆記
- 打卡華熙LIVE五棵松時代美術館,感受潮流藝術的魅力
- Python學習 day01打卡Python
- 程式設計學習打卡記錄貼程式設計
- 子彈畫藝術正在GTA5中消亡
- 使用 Pixelorama 建立令人驚歎的畫素藝術
- 插畫師 Simón Prades的抽象藝術作品抽象
- JAVA核心技術學習筆記--反射Java筆記反射
- canvas學習筆記-2d畫布基礎Canvas筆記
- numpy學習筆記 – numpy陣列的常見用法筆記陣列