溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Python Matplotlib繪制條形圖

發(fā)布時間:2022-03-04 14:35:21 來源:億速云 閱讀:261 作者:小新 欄目:開發(fā)技術

這篇文章給大家分享的是有關如何使用Python Matplotlib繪制條形圖的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

條形圖

條形圖具有豐富的表現(xiàn)形式,常見的類型包括單組條形圖,多組條形圖,堆積條形圖和對稱條形圖等。

單組條形圖

條形圖的每種表現(xiàn)形式都可以繪制成垂直條形圖或水平條形圖,以單組條形圖的兩種繪制方式為例。

垂直條形圖

import matplotlib.pyplot as plt
data = [10., 20., 5., 15.]
plt.bar(range(len(data)), data)
plt.show()

如何使用Python Matplotlib繪制條形圖

Tips:plt.plot()函數(shù)的作用是:接收兩個參數(shù),包括每個條形的x坐標和每個條行的高度。

通過可選參數(shù)width,pyplot.bar()提供了一種控制條形圖中條狀寬度的方法:

import matplotlib.pyplot as plt
data = [10., 20., 5., 15.]
plt.bar(range(len(data)), data, width=0.5)
plt.show()

如何使用Python Matplotlib繪制條形圖

水平條形圖

如果更喜歡水平條形外觀,就可以使用plt.barh()函數(shù),在用法方面與plt.bar()基本相同,但是修改條形寬度(或者在水平條形圖中應該稱為高度)的參數(shù)需要使用height:

import matplotlib.pyplot as plt
data = [10., 20., 5., 15.]
plt.barh(range(len(data)), data, height=0.5)
plt.show()

如何使用Python Matplotlib繪制條形圖

多組條形圖

當需要比較不同年份相應季度的銷量等此類需求時,我們可能需要多組條形圖。

import numpy as np
import matplotlib.pyplot as plt
data = [[10., 20., 30., 20.],[40., 25., 53., 18.],[6., 22., 52., 19.]]
x = np.arange(4)
plt.bar(x + 0.00, data[0], color = 'b', width = 0.25)
plt.bar(x + 0.25, data[1], color = 'g', width = 0.25)
plt.bar(x + 0.50, data[2], color = 'r', width = 0.25)
plt.show()

如何使用Python Matplotlib繪制條形圖

堆積條形圖

通過使用plt.bar()函數(shù)中的可選參數(shù),可以繪制堆積條形圖。

import matplotlib.pyplot as plt
y_1 = [3., 25., 45., 22.]
y_2 = [6., 25., 50., 25.]
x = range(4)
plt.bar(x, y_1, color = 'b')
plt.bar(x, y_2, color = 'r', bottom = y_1)
plt.show()

如何使用Python Matplotlib繪制條形圖

Tips:plt.bar()函數(shù)的可選參數(shù)bottom允許指定條形圖的起始值。

可以結合for循環(huán),利用延遲呈現(xiàn)機制堆疊更多的條形:

import numpy as np
import matplotlib.pyplot as plt
data = np.array([[5., 30., 45., 22.], [5., 25., 50., 20.], [1., 2., 1., 1.]])
x = np.arange(data.shape[1])
for i in range(data.shape[0]):
    plt.bar(x, data[i], bottom = np.sum(data[:i], axis = 0))
plt.show()

如何使用Python Matplotlib繪制條形圖

對稱條形圖

一個簡單且有用的技巧是對稱繪制兩個條形圖。例如想要繪制不同年齡段的男性與女性數(shù)量的對比:

import numpy as np
import matplotlib.pyplot as plt
w_pop = np.array([5., 30., 45., 22.])
m_pop = np.array( [5., 25., 50., 20.])
x = np.arange(4)
plt.barh(x, w_pop)
plt.barh(x, -m_pop)
plt.show()

如何使用Python Matplotlib繪制條形圖

圖中女性人口的條形圖照常繪制。然而,男性人口的條形圖的條形圖的條形圖向左延伸,而不是向右延伸??梢允褂脭?shù)據(jù)的負值來快速實現(xiàn)對稱條形圖的繪制。

感謝各位的閱讀!關于“如何使用Python Matplotlib繪制條形圖”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI