1. 程式人生 > >matplotlib的學習9-bar柱狀圖

matplotlib的學習9-bar柱狀圖

12個 bottom 刻度 tick ace .py tex 隱藏 imp

import matplotlib.pyplot as plt
import numpy as np

‘‘‘
向上向下分別生成12個數據,X為 0 到 11 的整數 ,Y是相應的均勻分布的隨機數據。 
使用的函數是plt.bar,參數為X和Y:
‘‘‘
n = 12
X = np.arange(n)
Y1 = (1 - X / float(n)) * np.random.uniform(0.5, 1.0, n)
Y2 = (1 - X / float(n)) * np.random.uniform(0.5, 1.0, n)

plt.bar(X, +Y1, facecolor=‘#9999ff‘, edgecolor=‘white‘)
plt.bar(X, -Y2, facecolor=‘#ff9999‘, edgecolor=‘white‘)

plt.xlim(-.5, n)
plt.xticks(())#隱藏x刻度
plt.ylim(-1.25, 1.25)
plt.yticks(())#隱藏y的刻度

# 接下來我們用函數plt.text分別在柱體上方(下方)加上數值,用%.2f保留兩位小數,
# 橫向居中對齊ha=‘center‘,縱向底部(頂部)對齊va=‘bottom‘:

for x, y in zip(X, Y1):
    # ha: horizontal alignment
    # va: vertical alignment
    plt.text(x + 0.4, y + 0.05, ‘%.2f‘ % y, ha=‘center‘, va=‘bottom‘)

for x, y in zip(X, Y2):
    # ha: horizontal alignment
    # va: vertical alignment
    plt.text(x + 0.4, -y - 0.05, ‘%.2f‘ % y, ha=‘center‘, va=‘top‘)

plt.show()

plt.yticks(())隱藏y的刻度

plt.bar(x,-y2) bar是柱狀圖

matplotlib的學習9-bar柱狀圖