首頁 > 後端開發 > Python教學 > python使用matplotlib繪製長條圖教程

python使用matplotlib繪製長條圖教程

高洛峰
發布: 2017-02-10 09:34:12
原創
8815 人瀏覽過

Matplotlib的概念這裡就不多介紹了

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

1. 基本的柱狀圖

import matplotlib.pyplot as plt

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

plt.bar(range(len(data)), data)
plt.show()
登入後複製

python使用matplotlib繪製長條圖教程

plt.barmm height,width,bottom這四個參數決定了柱體的位置和大小。預設情況下,left為柱體的居中位置(可以透過align參數來改變left值的意義),即:

(left - width / 2, bottom)

為左下角位置


(left + width / 2, bottom + height)

為右上角位置

python使用matplotlib繪製長條圖教程

例如:

bar(left, height, width=0.8, bottom=None, **kwargs)
登入後複製

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()
登入後複製

.

透過facecolor(或fc)關鍵字參數可以設定柱體顏色,例如:

python使用matplotlib繪製長條圖教程

import matplotlib.pyplot as plt

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

plt.bar(range(len(data)), data, fc='g')
plt.show()
登入後複製

透過color關鍵字參數可以一次設定多個顏色,例如:

python使用matplotlib繪製長條圖教程

(2)描邊

相關的關鍵字參數為:
  • edgecolor 或ec
  • line
  • 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()
    登入後複製

(3)填充

hatch關鍵字可用來設定填充樣式,可取值為:/, , |, -, +, x, o, O, ., *。例如:

python使用matplotlib繪製長條圖教程

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. 設定tick label

通過bottom參數,可以繪製堆疊長條圖。例如:

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()
登入後複製

python使用matplotlib繪製長條圖教程

5. 並列柱狀圖

繪製並列柱狀圖與堆疊柱狀圖類似,都是多柱狀圖組和大小即可。例如:

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()
登入後複製

python使用matplotlib繪製長條圖教程

6. 條形圖

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

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()
登入後複製

python使用matplotlib繪製長條圖教程

plt.barh方法的簽章為:

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()
登入後複製

可以看到因此堆積長條圖和並列長條圖的畫法與前面類似,不做贅述。

7. 正負長條圖

python使用matplotlib繪製長條圖教程

import matplotlib.pyplot as plt

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

plt.barh(range(len(data)), data)
plt.show()
登入後複製

更多python使用matplotlib繪製長條圖教學相關文章請關注PHP中文網!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板