Python 提供了一個最流行的繪圖庫,叫做 Matplotlib 。它是開源的、跨平台的,用於從數組中的數據製作 2D 圖。它通常用於數據可視化,並通過各種圖形表示。
Matplotlib 最初是由約翰·d·亨特在 2003 年構思的。matplotlib 的最新版本是 2018 年 1 月發布的 2.2.0。
在開始使用 matplotlib 庫之前,我們需要在 Python 環境中安裝。
在您的終端中鍵入以下命令,然後按 enter 鍵。
pip install matplotlib
以上命令將在 Window 操作系統上安裝 matplotlib 庫及其依賴包。
圖表包含以下部分。讓我們理解這些部分。
圖形:是一個可以包含一個或多個軸(圖)的整體圖形。我們可以把一個人物想像成一個容納情節的畫布。
軸:一個圖形可以包含多個軸。它由兩個或三個(在 3D 的情況下)軸對象組成。每個軸由一個標題、一個 x 標籤和一個 y 標籤組成。
軸:軸是線狀物體的數量,負責生成圖形界限。
藝術家:藝術家是我們在圖形上看到的所有東西,如文本對象、線 2D 對象和收藏對象。大多數藝術家都被綁在斧頭上。
matplotlib 提供 pyplot 包,用於繪製給定數據的圖形。 matplotlib.pyplot 是一組命令風格的函數,使 matplotlib 像 MATLAB 一樣工作。pyplot 包包含許多功能,用於創建圖形、在圖形中創建繪圖區域、用標籤裝飾圖形、在繪圖區域中繪製一些線條等。
我們可以用 pyplot 快速繪製圖表。讓我們看看下面的例子。
下面是生成簡單圖形的基本示例;該計劃如下:
from matplotlib import pyplot as plt
#ploting our canvas
plt.plot([1,2,3],[4,5,1])
#display the graph
plt.show()
輸出:
我們可以使用 pyplot 模塊繪製各種圖表。讓我們理解下面的例子。
折線圖用於將信息顯示為一系列線條。很容易策劃。考慮下面的例子。
示例-
from matplotlib import pyplot as plt
x = [1,2,3]
y = [10,11,12]
plt.plot(x,y)
plt.title("Line graph")
plt.ylabel('Y axis')
plt.xlabel('X axis')
plt.show()
輸出:
可以使用各種功能修改該行。它使圖表更有吸引力。下面是例子。
示例-
from matplotlib import pyplot as plt
from matplotlib import style
style.use('ggplot')
x = [10, 12, 13]
y = [8, 16, 6]
x2 = [8, 15, 11]
y2 = [6, 15, 7]
plt.plot(x, y, 'b', label='line one', linewidth=5)
plt.plot(x2, y2, 'r', label='line two', linewidth=5)
plt.title('Epic Info')
fig = plt.figure()
plt.ylabel('Y axis')
plt.xlabel('X axis')
plt.show()
條形圖是最常見的圖形之一,用於表示與分類變數相關的數據。 bar() 函數接受三個參數——分類變數、值和顏色。
示例-
from matplotlib import pyplot as plt
Names = ['Arun','James','Ricky','Patrick']
Marks = [51,87,45,67]
plt.bar(Names,Marks,color = 'blue')
plt.title('Result')
plt.xlabel('Names')
plt.ylabel('Marks')
plt.show()
圖表是分成子部分或段的圓形圖。它用於表示百分比或比例數據,其中每個餅圖切片代表一個特定類別。讓我們理解下面的例子。
示例-
from matplotlib import pyplot as plt
# Pie chart, where the slices will be ordered and plotted counter-clockwise:
Aus_Players = 'Smith', 'Finch', 'Warner', 'Lumberchane'
Runs = [42, 32, 18, 24]
explode = (0.1, 0, 0, 0) # it "explode" the 1st slice
fig1, ax1 = plt.subplots()
ax1.pie(Runs, explode=explode, labels=Aus_Players, autopct='%1.1f%%',
shadow=True, startangle=90)
ax1.axis('equal') # Equal aspect ratio ensures that pie is drawn as a circle.
plt.show()
輸出:
直方圖和條形圖非常相似,但有一點點不同。直方圖用於表示分布,條形圖用於比較不同的實體。直方圖通常用於繪製多個值相對於一組值範圍的頻率。
在下面的例子中,我們獲取了學生不同分數百分比的數據,並繪製了關於學生人數的直方圖。讓我們理解下面的例子。
示例-
from matplotlib import pyplot as plt
from matplotlib import pyplot as plt
percentage = [97,54,45,10, 20, 10, 30,97,50,71,40,49,40,74,95,80,65,82,70,65,55,70,75,60,52,44,43,42,45]
number_of_student = [0,10,20,30,40,50,60,70,80,90,100]
plt.hist(percentage, number_of_student, histtype='bar', rwidth=0.8)
plt.xlabel('percentage')
plt.ylabel('Number of people')
plt.title('Histogram')
plt.show()
輸出:
讓我們理解另一個例子。
示例- 2:
from matplotlib import pyplot as plt
# Importing Numpy Library
import numpy as np
plt.style.use('fivethirtyeight')
mu = 50
sigma = 7
x = np.random.normal(mu, sigma, size=200)
fig, ax = plt.subplots()
ax.hist(x, 20)
ax.set_title('Historgram')
ax.set_xlabel('bin range')
ax.set_ylabel('frequency')
fig.tight_layout()
plt.show()
輸出:
散點圖用於比較變數與其他變數。它被定義為一個變數如何影響另一個變數。數據表示為點的集合。讓我們理解下面的例子。
示例-
from matplotlib import pyplot as plt
from matplotlib import style
style.use('ggplot')
x = [4,8,12]
y = [19,11,7]
x2 = [7,10,12]
y2 = [8,18,24]
plt.scatter(x, y)
plt.scatter(x2, y2, color='g')
plt.title('Epic Info')
plt.ylabel('Y axis')
plt.xlabel('X axis')
plt.show()
輸出:
示例- 2:
import matplotlib.pyplot as plt
a = [2, 2.5, 3, 3.5, 4.5, 4.7, 5.0]
b = [7.5, 8, 8.5, 9, 9.5, 10, 10.5]
a1 = [9, 8.5, 9, 9.5, 10, 10.5, 12]
b1 = [3, 3.5, 4.7, 4, 4.5, 5, 5.2]
plt.scatter(a, b, label='high income low saving', color='b')
plt.scatter(a1, b1, label='low income high savings', color='g')
plt.xlabel('saving*100')
plt.ylabel('income*1000')
plt.title('Scatter Plot')
plt.legend()
plt.show()
輸出:
在本教程中,我們已經討論了數據可視化中使用的所有基本類型的圖形。要了解更多關於圖形,請訪問我們的 matplotlib 教程。
原創文章,作者:K34N8,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/127260.html