国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python繪制精美圖表之雙柱形圖

beita / 2517人閱讀

摘要:圖表是比干巴巴的表格更直觀的表達,簡潔有力。當(dāng)我們想關(guān)注比數(shù)值本身更多的信息像數(shù)值的變化對比或異常,圖表就非常有用了。把數(shù)值轉(zhuǎn)化為圖片要依賴第三方庫的幫忙,在之中最好的圖表庫叫。

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

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

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

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

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

# 必須配置中文字體,否則會顯示成方塊
# 注意所有希望圖表顯示的中文必須為unicode格式
custom_font = mpl.font_manager.FontProperties(fname="/Library/Fonts/華文細黑.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軸標題
plt.xticks(index + bar_width, subjects, fontproperties=custom_font)
# Y軸范圍
plt.ylim(ymax=100, ymin=0)
# 圖表標題
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ù)標簽
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是一個自由度非常高的圖表庫,能夠?qū)崿F(xiàn)從顏色、字體等基礎(chǔ)屬性到圖例、網(wǎng)格等圖表屬性的定制輸出

來自:建造者說

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/37670.html

相關(guān)文章

  • AAChartKit--- 強大、精美、易用的開源iOS圖表

    摘要:可選的值有,和。布局類型或即水平布局和垂直布局默認是設(shè)定圖例在圖表區(qū)中的水平對齊方式,合法值有,和。垂直位置可以通過選項做進一步設(shè)定。 showImg(https://segmentfault.com/img/remote/1460000012009745?w=1240&h=653); showImg(https://segmentfault.com/img/remote/146000...

    eechen 評論0 收藏0
  • AAChartKit--- 強大、精美、易用的開源iOS圖表

    摘要:可選的值有,和。布局類型或即水平布局和垂直布局默認是設(shè)定圖例在圖表區(qū)中的水平對齊方式,合法值有,和。垂直位置可以通過選項做進一步設(shè)定。 showImg(https://segmentfault.com/img/remote/1460000012009745?w=1240&h=653); showImg(https://segmentfault.com/img/remote/146000...

    104828720 評論0 收藏0
  • 怎樣用JavaScript和HTML5 Canvas繪制圖表

    摘要:餅狀圖將數(shù)據(jù)用切割成份的圓來展示。至于半徑,我們用寬度的一半與高度的一半的較小值,因為我們不想讓餅狀圖超出。結(jié)果看起來如下這樣繪制圓環(huán)圖我們已經(jīng)看到如何創(chuàng)建餅狀圖。怎樣畫洞呢我們可以畫一個白色的圓在餅狀圖上。 showImg(https://segmentfault.com/img/bVObDh?w=850&h=362); 原文:https://code.tutsplus.com/zh...

    doodlewind 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<