国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python使用matplotlib繪制柱狀圖教程

2019-11-25 16:22:08
字體:
供稿:網(wǎng)友

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

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

1. 基本的柱狀圖

import matplotlib.pyplot as pltdata = [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)

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

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

例如:

import matplotlib.pyplot as pltdata = [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)顏色

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

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


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

import matplotlib.pyplot as pltdata = [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 pltdata = [5, 20, 15, 25, 10]plt.bar(range(len(data)), data, ec='r', ls='--', lw=2)plt.show()


(3)填充

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

import matplotlib.pyplot as pltdata = [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 pltdata = [5, 20, 15, 25, 10]labels = ['Tom', 'Dick', 'Harry', 'Slim', 'Jim']plt.bar(range(len(data)), data, tick_label=labels)plt.show()


4. 堆疊柱狀圖

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

import numpy as npimport matplotlib.pyplot as pltsize = 5x = 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 npimport matplotlib.pyplot as pltsize = 5x = np.arange(size)a = np.random.random(size)b = np.random.random(size)c = np.random.random(size)total_width, n = 0.8, 3width = total_width / nx = x - (total_width - width) / 2plt.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 pltdata = [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 npimport matplotlib.pyplot as plta = 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é)

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 文山县| 玉屏| 高尔夫| 克什克腾旗| 丰镇市| 荥经县| 囊谦县| 绿春县| 南昌县| 昭苏县| 若尔盖县| 霍林郭勒市| 五华县| 巴楚县| 龙里县| 新邵县| 尼木县| 扶风县| 敦煌市| 瑞丽市| 瓦房店市| 洱源县| 玉屏| 河源市| 噶尔县| 洛浦县| 乌兰察布市| 辛集市| 郯城县| 德庆县| 涟源市| 榕江县| 若尔盖县| 兴业县| 许昌市| 蒲城县| 迭部县| 顺义区| 钟山县| 筠连县| 收藏|