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

python調(diào)用matplotlib模塊繪制柱狀圖

 更新時間:2019年10月18日 11:13:58   作者:君的名字  
這篇文章主要為大家介紹了python調(diào)用matplotlib模塊繪制柱狀圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

我們可以調(diào)用matplotlib 繪制我們的柱狀圖,柱狀圖可以是水平的也可以是豎直的。

在這里我先記錄下豎直的柱狀圖怎么繪制

在這里一般用到的函數(shù)就是bar

# bar(left, height, width=0.8, bottom=None, hold=None, **kwargs) 
# 繪制柱形圖 
# left:柱形圖的x坐標 
# height柱形圖的高度,以0.0為基準 
# width:柱形圖的寬度,默認0.8 
# facecolor:顏色 
# edgecolor:邊框顏色n 
# bottom:表示底部從y軸的哪個刻度開始畫 
# yerr:應該是對應的數(shù)據(jù)的誤差范圍,加上這個參數(shù),柱狀圖頭部會有一個藍色的范圍標識,標出允許的誤差范圍,在水平柱狀圖中這個參數(shù)為xerr 

在這里我一般特別喜歡將柱狀圖的邊緣顏色設置為白色,因為這樣畫出來比較好看

eg.

plt.bar(x,+y1,width=0.8,facecolor="#9999ff",edgecolor="white",yerr=error)

下面來說一下畫bar chart 的步驟

首先我們需要引入兩個模塊:

import numpy as np 
import matplotlib.pyplot as plt 

import numpy as np 
import matplotlib.pyplot as plt 
n = 12 
# 生成一個1-12的列表,不包括12,[ 0 1 2 3 4 5 6 7 8 9 10 11] 
x = np.arange(n) 
# np.random.uniform(0.5,1.0,n),生成n個0.5-1.0之間的隨機數(shù) 
y1 = 3 * np.random.uniform(0.5,1.0,n) 
y2 = 3 * np.random.uniform(0.5,1.0,n) 
# 在這里我們是使用一個隨機生成函數(shù)生成了兩組y的值,生成的這個隨機數(shù)是服從均勻分布的
# 如果我們的數(shù)值比較少我們可以直接給y賦值
# y = [5,7,3]

# 生成一個包含有n個值,均為0.2的list,表示允許的誤差范圍[-0.2,0.2] 
error = [0.2,] * n 

# bar(left, height, width=0.8, bottom=None, hold=None, **kwargs) 
# 繪制柱形圖 
# left:柱形圖的x坐標 
# height柱形圖的高度,以0.0為基準 
# width:柱形圖的寬度,默認0.8 
# facecolor:顏色 
# edgecolor:邊框顏色n 
# bottom:表示底部從y軸的哪個刻度開始畫 
# yerr:應該是對應的數(shù)據(jù)的誤差范圍,加上這個參數(shù),柱狀圖頭部會有一個藍色的范圍標識,標出允許的誤差范圍,在水平柱狀圖中這個參數(shù)為xerr 
plt.bar(x,+y1,width=0.8,facecolor="#9999ff",edgecolor="white",yerr=error) 
plt.bar(x,-y2,facecolor="#ff9999",edgecolor="white") 
# 繪制文字,顯示柱狀圖形的值 
for x,y1,y2 in zip(x,y1,y2): 
 plt.text(x+0.4,y1+0.05,'%.2f' % y1,ha='center',va='bottom') 
 plt.text(x+0.4,-(y2+0.05),'%.2f' % y2,ha='center',va='top') 

plt.ylim(-3.5,3.5) 
plt.show() 

如果我們需要的是給我們柱狀圖繪制一些標記,比如橫坐標和縱坐標的值,這個時候我們可以像下面這樣做。這個例子我用的是官網(wǎng)上的代碼。

# Credit: Josh Hemann

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import MaxNLocator
from collections import namedtuple


n_groups = 5

means_men = (20, 35, 30, 35, 27)
std_men = (2, 3, 4, 1, 2)

means_women = (25, 32, 34, 20, 25)
std_women = (3, 5, 2, 3, 3)

fig, ax = plt.subplots()

index = np.arange(n_groups)
bar_width = 0.35

opacity = 0.4
error_config = {'ecolor': '0.3'}

rects1 = ax.bar(index, means_men, bar_width,
    alpha=opacity, color='b',
    yerr=std_men, error_kw=error_config,
    label='Men')

rects2 = ax.bar(index + bar_width, means_women, bar_width,
    alpha=opacity, color='r',
    yerr=std_women, error_kw=error_config,
    label='Women')

ax.set_xlabel('Group')
ax.set_ylabel('Scores')
ax.set_title('Scores by group and gender')
ax.set_xticks(index + bar_width / 2)
ax.set_xticklabels(('A', 'B', 'C', 'D', 'E'))
ax.legend()

fig.tight_layout()
plt.show()

在這里我們設置的X的坐標以及上邊的標簽,我們主要的代碼是:

ax.bar(index, means_men, bar_width,
    alpha=opacity, color='b',
    yerr=std_men, error_kw=error_config,
    label='Men')

ax.set_xticks(index + bar_width / 2) # 設置坐標的其實坐標
ax.set_xticklabels(('A', 'B', 'C', 'D', 'E'))   

這里的bar函數(shù)的參數(shù)和我們開始介紹的是一樣的,只是我們在設置坐標的時候,一般是我們的條形圖的中間所以我們要把寬度除以2

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Python使用Paramiko庫實現(xiàn)SSH管理詳解

    Python使用Paramiko庫實現(xiàn)SSH管理詳解

    paramiko 是一個用于在Python中實現(xiàn)SSHv2協(xié)議的庫,它支持對遠程服務器進行加密的通信,本文主要介紹了如何使用Paramiko庫實現(xiàn)SSH管理,感興趣的小伙伴可以學習一下
    2023-11-11
  • pandas DataFrame的修改方法(值、列、索引)

    pandas DataFrame的修改方法(值、列、索引)

    這篇文章主要介紹了pandas DataFrame的修改方法(值、列、索引),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • python使用多線程備份數(shù)據(jù)庫的步驟

    python使用多線程備份數(shù)據(jù)庫的步驟

    在日常服務器運維工作中,備份數(shù)據(jù)庫是必不可少的,剛工作那會看到公司都是用shell腳本循環(huán)備份數(shù)據(jù)庫,到現(xiàn)在自己學習python語言后,利用多進程多線程相關技術來實現(xiàn)并行備份數(shù)據(jù)庫,充分利用服務器資源,提高備份速度。
    2021-05-05
  • 基于Python寫一個番茄鐘小工具

    基于Python寫一個番茄鐘小工具

    最近聽到朋友說在用番茄鐘,有點興趣也想下載一個來用用,后面仔細一想這玩意做起來也不難,索性自己順手寫一個算了,在這里也分享給大家了
    2022-12-12
  • PyQt5簡單讀取以及顯示圖片的應用實例

    PyQt5簡單讀取以及顯示圖片的應用實例

    我們在進行圖像處理時,經(jīng)常會用到讀取圖片并顯示出來這樣的操作,下面這篇文章主要給大家介紹了關于PyQt5簡單讀取以及顯示圖片應用的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • Python+OpenCV進行人臉面部表情識別

    Python+OpenCV進行人臉面部表情識別

    這篇文章主要介紹了通過Python OpenCV實現(xiàn)對人臉面部表情識別,判斷人是否為笑臉,文中的示例代碼非常詳細,需要的朋友可以參考一下
    2021-12-12
  • 解讀torch.cuda.amp自動混合精度訓練之節(jié)省顯存并加快推理速度

    解讀torch.cuda.amp自動混合精度訓練之節(jié)省顯存并加快推理速度

    這篇文章主要介紹了torch.cuda.amp自動混合精度訓練之節(jié)省顯存并加快推理速度問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • python獲取http請求響應頭headers中的數(shù)據(jù)的示例

    python獲取http請求響應頭headers中的數(shù)據(jù)的示例

    這篇文章主要介紹了python獲取http請求響應頭headers中的數(shù)據(jù),本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • Python3使用Selenium獲取session和token方法詳解

    Python3使用Selenium獲取session和token方法詳解

    這篇文章主要介紹了Python3使用Selenium獲取session和token方法詳解,需要的朋友可以參考下
    2021-02-02
  • 詳解如何用OpenCV + Python 實現(xiàn)人臉識別

    詳解如何用OpenCV + Python 實現(xiàn)人臉識別

    這篇文章主要介紹了詳解如何用OpenCV + Python 實現(xiàn)人臉識別,非常具有實用價值,需要的朋友可以參考下
    2017-10-10

最新評論