欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python使用matplotlib繪制柱狀圖教程

 更新時(shí)間:2017年02月08日 09:54:51   投稿:daisy  
這篇文章主要介紹了python使用matplotlib繪制柱狀圖的方法教程,其中實(shí)現(xiàn)的柱狀圖效果包括基本的柱狀圖、堆疊柱狀圖、并列柱狀圖、條形圖以及柱狀圖的各種樣式設(shè)置,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。

Matplotlib的概念這里就不多介紹了,關(guān)于繪圖庫(kù)Matplotlib的安裝方法:點(diǎn)擊這里

小編之前也和大家分享過(guò)python使用matplotlib實(shí)現(xiàn)的折線圖制餅圖效果,感興趣的朋友們也可以點(diǎn)擊查看,下面來(lái)看看python使用matplotlib繪制柱狀圖的方法吧,具體如下:

1. 基本的柱狀圖

import matplotlib.pyplot as plt

data = [5, 20, 15, 25, 10]

plt.bar(range(len(data)), data)
plt.show()


plt.bar函數(shù)簽名為:

bar(left, height, width=0.8, bottom=None, **kwargs)

事實(shí)上,left,height,width,bottom這四個(gè)參數(shù)確定了柱體的位置和大小。默認(rèn)情況下,left為柱體的居中位置(可以通過(guò)align參數(shù)來(lái)改變left值的含義),即:

  • (left - width / 2, bottom)為左下角位置
  • (left + width / 2, bottom + height)為右上角位置

例如:

import matplotlib.pyplot as plt

data = [5, 20, 15, 25, 10]

plt.bar([0.3, 1.7, 4, 6, 7], data, width=0.6, bottom=[10, 0, 5, 0, 5])
plt.show()


2. 設(shè)置柱體樣式

(1)顏色

通過(guò)facecolor(或fc)關(guān)鍵字參數(shù)可以設(shè)置柱體顏色,例如:

import matplotlib.pyplot as plt

data = [5, 20, 15, 25, 10]

plt.bar(range(len(data)), data, fc='g')
plt.show()


通過(guò)color關(guān)鍵字參數(shù) 可以一次性設(shè)置多個(gè)顏色,例如:

import matplotlib.pyplot as plt

data = [5, 20, 15, 25, 10]

plt.bar(range(len(data)), data, color='rgb') # or `color=['r', 'g', 'b']`
plt.show()


(2)描邊

相關(guān)的關(guān)鍵字參數(shù)為:

  • edgecolor 或 ec
  • linestyle 或 ls
  • linewidth 或 lw

例如:

import matplotlib.pyplot as plt

data = [5, 20, 15, 25, 10]

plt.bar(range(len(data)), data, ec='r', ls='--', lw=2)
plt.show()


(3)填充

hatch關(guān)鍵字可用來(lái)設(shè)置填充樣式,可取值為:/, \, |, -, +, x, o, O, ., *。例如:

import matplotlib.pyplot as plt

data = [5, 20, 15, 25, 10]

plt.bar(range(len(data)), data, ec='k', lw=1, hatch='o')
plt.show()

3. 設(shè)置tick label

import matplotlib.pyplot as plt

data = [5, 20, 15, 25, 10]
labels = ['Tom', 'Dick', 'Harry', 'Slim', 'Jim']

plt.bar(range(len(data)), data, tick_label=labels)
plt.show()


4. 堆疊柱狀圖

通過(guò)bottom參數(shù),可以繪制堆疊柱狀圖。例如:

import numpy as np
import matplotlib.pyplot as plt

size = 5
x = np.arange(size)
a = np.random.random(size)
b = np.random.random(size)

plt.bar(x, a, label='a')
plt.bar(x, b, bottom=a, label='b')
plt.legend()
plt.show()


5. 并列柱狀圖

繪制并列柱狀圖與堆疊柱狀圖類似,都是繪制多組柱體,只需要控制好每組柱體的位置和大小即可。例如:

import numpy as np
import matplotlib.pyplot as plt

size = 5
x = np.arange(size)
a = np.random.random(size)
b = np.random.random(size)
c = np.random.random(size)

total_width, n = 0.8, 3
width = total_width / n
x = x - (total_width - width) / 2

plt.bar(x, a, width=width, label='a')
plt.bar(x + width, b, width=width, label='b')
plt.bar(x + 2 * width, c, width=width, label='c')
plt.legend()
plt.show()


6. 條形圖

使用barh方法繪制條形圖。例如:

import matplotlib.pyplot as plt

data = [5, 20, 15, 25, 10]

plt.barh(range(len(data)), data)
plt.show()


plt.barh方法的簽名為:

barh(bottom, width, height=0.8, left=None, **kwargs)

可以看到與plt.bar方法類似。因此堆積條形圖和并列條形圖的畫法與前面類似,不做贅述。

7. 正負(fù)條形圖

import numpy as np
import matplotlib.pyplot as plt

a = np.array([5, 20, 15, 25, 10])
b = np.array([10, 15, 20, 15, 5])

plt.barh(range(len(a)), a)
plt.barh(range(len(b)), -b)
plt.show()

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家學(xué)習(xí)或者使用python能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。

相關(guān)文章

  • python利用元類和描述器實(shí)現(xiàn)ORM模型的詳細(xì)步驟

    python利用元類和描述器實(shí)現(xiàn)ORM模型的詳細(xì)步驟

    Python中的類與數(shù)據(jù)庫(kù)之間的映射,對(duì)數(shù)據(jù)的操作就不用編寫SQL語(yǔ)言了,因?yàn)槎挤庋b好了,比如你想插入一條數(shù)據(jù),你就直接創(chuàng)建一個(gè)對(duì)象即可,下面通過(guò)本文學(xué)習(xí)下python利用元類和描述器實(shí)現(xiàn)ORM模型的詳細(xì)步驟,感興趣的朋友一起看看吧
    2021-11-11
  • Python之Matlibplot畫圖功能演示過(guò)程

    Python之Matlibplot畫圖功能演示過(guò)程

    這篇文章主要介紹了Python之Matlibplot畫圖功能演示過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 對(duì)Python中type打開文件的方式介紹

    對(duì)Python中type打開文件的方式介紹

    下面小編就為大家介紹一下對(duì)Python中type打開文件的方式。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Python實(shí)現(xiàn)命令行通訊錄實(shí)例教程

    Python實(shí)現(xiàn)命令行通訊錄實(shí)例教程

    這篇文章主要介紹怎樣編寫了一段命令行通訊錄的小程序。下面是編寫的思路以及代碼,歡迎感興趣的同學(xué)交流探討。
    2016-08-08
  • 基于Python編寫個(gè)語(yǔ)法解析器

    基于Python編寫個(gè)語(yǔ)法解析器

    這篇文章主要為大家詳細(xì)介紹了如何基于Python編寫個(gè)語(yǔ)法解析器,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下
    2023-07-07
  • Python文件操作的方法

    Python文件操作的方法

    本文詳細(xì)講解了Python文件操作的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • 如何使用Python生成Hilbert矩陣

    如何使用Python生成Hilbert矩陣

    這篇文章主要介紹了如何使用Python生成Hilbert矩陣,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • Python線程編程之Thread詳解

    Python線程編程之Thread詳解

    這篇文章主要為大家介紹了Python線程編程之Thread,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • Python實(shí)現(xiàn)PDF到Word文檔的高效轉(zhuǎn)換

    Python實(shí)現(xiàn)PDF到Word文檔的高效轉(zhuǎn)換

    這篇文章主要為大家詳細(xì)介紹了如何使用Python編程語(yǔ)言,結(jié)合庫(kù)和工具,將PDF文件轉(zhuǎn)換為可編輯的Word文檔,使文檔的編輯變得方便高效,需要的可以參考下
    2024-01-01
  • ActiveMQ:使用Python訪問(wèn)ActiveMQ的方法

    ActiveMQ:使用Python訪問(wèn)ActiveMQ的方法

    今天小編就為大家分享一篇ActiveMQ:使用Python訪問(wèn)ActiveMQ的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01

最新評(píng)論