Matplotlib 面向?qū)ο蠼涌?/h1>

雖然使用matplotlib.pyplot模塊很容易快速生成繪圖,但建議使用面向?qū)ο蟮姆椒ǎ驗(yàn)樗梢愿玫乜刂坪妥远x繪圖。matplotlib.axes.Axes類中也提供了大多數(shù)函數(shù)。

使用更正式的面向?qū)ο蠓椒ū澈蟮闹饕枷胧莿?chuàng)建圖形對(duì)象,然后只調(diào)用該對(duì)象的方法或?qū)傩?。這種方法有助于更好地處理其上有多個(gè)繪圖的畫布。

在面向?qū)ο蟮慕缑嬷校琍yplot僅用于一些功能,如圖形創(chuàng)建,用戶顯式創(chuàng)建和跟蹤圖形和軸對(duì)象。在此級(jí)別,用戶使用Pyplot創(chuàng)建圖形,通過這些圖形,可以創(chuàng)建一個(gè)或多個(gè)軸對(duì)象。然后,這些軸對(duì)象用于大多數(shù)繪圖操作。

首先,創(chuàng)建一個(gè)提供空畫布的圖形實(shí)例。

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
fig = plt.figure()

將軸添加到圖形中。add_axes()方法需要一個(gè)4個(gè)元素的列表對(duì)象,對(duì)應(yīng)于圖形的左側(cè),底部,寬度和高度。每個(gè)數(shù)字必須介于0和1之間 -

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
ax=fig.add_axes([0,0,1,1])

設(shè)置x和y軸的標(biāo)簽以及標(biāo)題 -

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
ax.set_title("sine wave")
 ax.set_xlabel('angle')
 ax.set_ylabel('sine')

調(diào)用axes對(duì)象的plot()方法。

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
ax.plot(x,y)

如果使用的是 Jupyter notebook,則需要加入%matplotlib inline指令; pyplot模塊的show()函數(shù)顯示圖形。

閱讀并執(zhí)行以下代碼 -

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
#! /usr/bin/env python
 #coding=utf-8
 from matplotlib import pyplot as plt
 import numpy as np
 import math
 # 顯示中文設(shè)置...
 plt.rcParams['font.sans-serif'] = ['SimHei'] # 步驟一(替換sans-serif字體)
 plt.rcParams['axes.unicode_minus'] = False # 步驟二(解決坐標(biāo)軸負(fù)數(shù)的負(fù)號(hào)顯示問題)
 %matplotlib inline
 x = np.arange(0, math.pi*2, 0.05)
 y = np.sin(x)
 fig = plt.figure()
 ax = fig.add_axes([0,0,1,1])
 ax.plot(x,y)
 ax.set_title("正弦波")
 ax.set_xlabel('角度')
 ax.set_ylabel('正弦')
 plt.show()

上面的代碼行生成以下輸出 -

執(zhí)行代碼結(jié)果

Jupyter notebook中運(yùn)行時(shí)相同的代碼 -

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
#! /usr/bin/env python
 #coding=utf-8
 from matplotlib import pyplot as plt
 import numpy as np
 import math
 # 顯示中文設(shè)置...
 plt.rcParams['font.sans-serif'] = ['SimHei'] # 步驟一(替換sans-serif字體)
 plt.rcParams['axes.unicode_minus'] = False # 步驟二(解決坐標(biāo)軸負(fù)數(shù)的負(fù)號(hào)顯示問題)
 %matplotlib inline
 x = np.arange(0, math.pi*2, 0.05)
 y = np.sin(x)
 fig = plt.figure()
 ax = fig.add_axes([0,0,1,1])
 ax.plot(x,y)
 ax.set_title("正弦波")
 ax.set_xlabel('角度')
 ax.set_ylabel('正弦')
 plt.show()

顯示輸出如下所示 -

執(zhí)行代碼結(jié)果

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清