matplotlib簡單介紹

2021-08-22 06:16:46 字數 2800 閱讀 5744

首先一幅matplotlib的影象組成部分介紹。

在matplotlib中,整個影象為乙個figure物件。在figure物件中可以包含乙個或者多個axes物件。每個axes(ax)物件都是乙個擁有自己座標系統的繪圖區域。所屬關係如下:

下面以乙個直線圖來詳解影象內部各個元件內容:

其中:title為影象標題,axis為座標軸, label為座標軸標註,tick為刻度線,tick label為刻度注釋。各個物件關係可以梳理成以下內容:

影象中所有物件均來自於artist的基類。

上面基本介紹清楚了影象中各個部分的基本關係,下面著重講一下幾個部分的詳細的設定。

乙個"figure"意味著使用者互動的整個視窗。在這個figure中容納著"subplots"。

當我們呼叫plot時,matplotlib會呼叫gca()獲取當前的axes繪圖區域,而且gca反過來呼叫gcf()來獲得當前的figure。如果figure為空,它會自動呼叫figure()生成乙個figure, 嚴格的講,是生成subplots(111)

figures

subplots

plt.subplot(221) # 第一行的左圖

plt.subplot(222) # 第一行的右圖

plt.subplot(212) # 第二整行

plt.show()

注意:其中各個引數也可以用逗號,分隔開。第乙個引數代表子圖的行數;第二個引數代表該行影象的列數; 第三個引數代表每行的第幾個影象。

另外:fig, ax = plt.subplots(2,2),其中引數分別代表子圖的行數和列數,一共有 2x2 個影象。函式返回乙個figure影象和乙個子圖ax的array列表。

補充:gridspec命令可以對子圖區域劃分提供更靈活的配置。

tick locators

tick locators 控制著 ticks 的位置。比如下面:

ax = plt.gca()

ax.xaxis.set_major_locator(eval(locator))

一些不同型別的locators:

**如下:

import numpy as np

import matplotlib.pyplot as plt

def tickline():

plt.xlim(0, 10), plt.ylim(-1, 1), plt.yticks()

ax = plt.gca()

ax.spines['right'].set_color('none')

ax.spines['left'].set_color('none')

ax.spines['top'].set_color('none')

ax.xaxis.set_ticks_position('bottom')

ax.spines['bottom'].set_position(('data',0))

ax.yaxis.set_ticks_position('none')

ax.xaxis.set_minor_locator(plt.multiplelocator(0.1))

ax.plot(np.arange(11), np.zeros(11))

return ax

locators = [

'plt.nulllocator()',

'plt.multiplelocator(1.0)',

'plt.fixedlocator([0, 2, 8, 9, 10])',

'plt.indexlocator(3, 1)',

'plt.linearlocator(5)',

'plt.loglocator(2, [1.0])',

'plt.autolocator()',

]n_locators = len(locators)

size = 512, 40 * n_locators

dpi = 72.0

figsize = size[0] / float(dpi), size[1] / float(dpi)

fig = plt.figure(figsize=figsize, dpi=dpi)

fig.patch.set_alpha(0)

for i, locator in enumerate(locators):

plt.subplot(n_locators, 1, i + 1)

ax = tickline()

ax.xaxis.set_major_locator(eval(locator))

plt.text(5, 0.3, locator[3:], ha='center')

plt.subplots_adjust(bottom=.01, top=.99, left=.01, right=.99)

plt.show()

所有這些locators均來自於基類matplotlib.ticker.locator。你可以通過繼承該基類建立屬於自己的locator樣式。同時matplotlib也提供了特殊的日期locator, 位於matplotlib.dates.

Matplotlib 簡單學習

import matplotlib as mpl import matplotlib.pyplot as plt 複製 x np.linspace 0,10,100 y np.sin x plt.plot x,y plt.show 複製 噹噹當,結果如下 接下來繪製演示如何繪製多條曲線 cosy n...

matplotlib的簡單應用

1.折線圖from matplotlib import pylabx 1,2,3,4,8 y 5,7,2,1,5 pylab.plot x,y,m plot x軸資料,y軸資料,展現方式 顏色 線條樣式 1 線條樣式 普通直線 虛線 形式 細小虛線 2 顏色 青色 c cyan 紅色 r red 品...

matplotlib的簡單應用

matplotlib的簡單應用 示例 y sin x y cos x 放在同乙個的畫板上 import numpy as np import matplotlib.pyplot as plt 從 pi到pi之間生成100個間隔均等的點 x np.linspace np.pi,np.pi,100 定義...