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

python繪制雙柱形圖代碼實(shí)例

 更新時(shí)間:2017年12月14日 16:36:06   作者:jopen  
這篇文章主要介紹了python繪制雙柱形圖代碼實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下。

圖表是比干巴巴的表格更直觀的表達(dá),簡潔、有力。工作中經(jīng)常遇到的場景是,有一些數(shù)值需要定時(shí)的監(jiān)控,比如服務(wù)器的連接數(shù)、活躍用戶數(shù)、點(diǎn)擊某個(gè)按鈕的人數(shù),并且通過郵件或者網(wǎng)頁展示出來。當(dāng)我們想關(guān)注比數(shù)值本身更多的信息(像數(shù)值的變化、對比或異常),圖表就非常有用了。把數(shù)值轉(zhuǎn)化為圖片要依賴第三方庫的幫忙,在Python之中最好的圖表庫叫matplotlib。(一直覺得,Python最大的優(yōu)勢就是豐富的第三方庫,讓你能輕易實(shí)現(xiàn)各種需求)

matplotlib,顧名思義就是提供了一整套和matlab相似的API,它的文檔相當(dāng)完備,示例頁面提供了上百個(gè)圖表的入門代碼,可以說只有你想不到的,沒有它做不到的。

舉個(gè)稍復(fù)雜的例子,小明和小紅兩個(gè)同學(xué)各有語文、數(shù)學(xué)、英語的課程成績,用一個(gè)雙柱形圖輸出各項(xiàng)成績的對比:

#!/usr/bin/env python
# coding: utf-8

import matplotlib as mpl
mpl.use('Agg')
import matplotlib.pyplot as plt
import numpy as np

# 必須配置中文字體,否則會(huì)顯示成方塊
# 注意所有希望圖表顯示的中文必須為unicode格式
custom_font = mpl.font_manager.FontProperties(fname='/Library/Fonts/華文細(xì)黑.ttf')

font_size = 10 # 字體大小
fig_size = (8, 6) # 圖表大小

names = (u'小明', u'小紅') # 姓名
subjects = (u'語文', u'數(shù)學(xué)', u'英語') # 科目
scores = ((65, 90, 75), (85, 80, 90)) # 成績

# 更新字體大小
mpl.rcParams['font.size'] = font_size
# 更新圖表大小
mpl.rcParams['figure.figsize'] = fig_size
# 設(shè)置柱形圖寬度
bar_width = 0.35

index = np.arange(len(scores[0]))
# 繪制「小明」的成績
rects1 = plt.bar(index, scores[0], bar_width, color='#0072BC', label=names[0])
# 繪制「小紅」的成績
rects2 = plt.bar(index + bar_width, scores[1], bar_width, color='#ED1C24', label=names[1])
# X軸標(biāo)題
plt.xticks(index + bar_width, subjects, fontproperties=custom_font)
# Y軸范圍
plt.ylim(ymax=100, ymin=0)
# 圖表標(biāo)題
plt.title(u'企鵝班同學(xué)成績對比', fontproperties=custom_font)
# 圖例顯示在圖表下方
plt.legend(loc='upper center', bbox_to_anchor=(0.5, -0.03), fancybox=True, ncol=5, prop=custom_font)

# 添加數(shù)據(jù)標(biāo)簽
def add_labels(rects):
  for rect in rects:
    height = rect.get_height()
    plt.text(rect.get_x() + rect.get_width() / 2, height, height, ha='center', va='bottom')
    # 柱形圖邊緣用白色填充,純粹為了美觀
    rect.set_edgecolor('white')

add_labels(rects1)
add_labels(rects2)

# 圖表輸出到本地
plt.savefig('scores_par.png')

最終圖表顯示如下:

總結(jié)

從上面的代碼片段可以了解到:matplotlib是一個(gè)自由度非常高的圖表庫,能夠?qū)崿F(xiàn)從顏色、字體等基礎(chǔ)屬性到圖例、網(wǎng)格等圖表屬性的定制輸出。

以上就是本文關(guān)于python繪制雙柱形圖代碼實(shí)例的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:

Django admin實(shí)現(xiàn)圖書管理系統(tǒng)菜鳥級教程完整實(shí)例

python使用pil進(jìn)行圖像處理(等比例壓縮、裁剪)實(shí)例代碼

Python實(shí)現(xiàn)讀取txt文件并畫三維圖簡單代碼示例

如有不足之處就,歡迎留言指出。感謝朋友們對本站的支持!

相關(guān)文章

最新評論