欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識(shí)庫 > matplotlib bar()實(shí)現(xiàn)多組數(shù)據(jù)并列柱狀圖通用簡便創(chuàng)建方法

matplotlib bar()實(shí)現(xiàn)多組數(shù)據(jù)并列柱狀圖通用簡便創(chuàng)建方法

熱門標(biāo)簽:柳州正規(guī)電銷機(jī)器人收費(fèi) 深圳網(wǎng)絡(luò)外呼系統(tǒng)代理商 騰訊地圖標(biāo)注有什么版本 鎮(zhèn)江人工外呼系統(tǒng)供應(yīng)商 千呼ai電話機(jī)器人免費(fèi) 申請辦個(gè)400電話號碼 外呼系統(tǒng)前面有錄音播放嗎 高德地圖標(biāo)注字母 400電話辦理費(fèi)用收費(fèi)

在使用柱狀圖時(shí),經(jīng)常遇到需要多組數(shù)據(jù)進(jìn)行比較的情況。
繪制單個(gè)數(shù)據(jù)系列的柱形圖比較簡單,多組數(shù)據(jù)柱狀圖繪制的關(guān)鍵有三點(diǎn):

  • 多次調(diào)用bar()函數(shù)即可在同一子圖中繪制多組柱形圖。
  • 為了防止柱子重疊,每個(gè)柱子在x軸上的位置需要依次遞增,如果柱子緊挨,這個(gè)距離即柱子寬度。
  • 為了使刻度標(biāo)簽居中,需要調(diào)整x軸刻度標(biāo)簽的位置。

由上述可知,多組數(shù)據(jù)并列柱狀圖需要計(jì)算柱子x軸上的位置和x軸刻度標(biāo)簽。
因此,有兩種實(shí)現(xiàn)方案:

  • x軸刻度標(biāo)簽位置固定,根據(jù)x軸刻度計(jì)算每個(gè)柱子的寬度
  • 每個(gè)柱子的寬度固定,計(jì)算x軸刻度標(biāo)簽位置,使之居中

下面使用第一種方法演示兩組數(shù)據(jù)、三組數(shù)據(jù)、四組數(shù)據(jù)的并列柱狀圖。
使用方法一、方法二演示通用多組并列柱狀圖的創(chuàng)建方法。

兩組數(shù)據(jù)、三組數(shù)據(jù)、四組數(shù)據(jù)的并列柱狀圖

import matplotlib
import matplotlib.pyplot as plt
import numpy as np

plt.figure(figsize=(13, 4))
# 構(gòu)造x軸刻度標(biāo)簽、數(shù)據(jù)
labels = ['G1', 'G2', 'G3', 'G4', 'G5']
first = [20, 34, 30, 35, 27]
second = [25, 32, 34, 20, 25]
third = [21, 31, 37, 21, 28]
fourth = [26, 31, 35, 27, 21]

# 兩組數(shù)據(jù)
plt.subplot(131)
x = np.arange(len(labels)) # x軸刻度標(biāo)簽位置
width = 0.25 # 柱子的寬度
# 計(jì)算每個(gè)柱子在x軸上的位置,保證x軸刻度標(biāo)簽居中
# x - width/2,x + width/2即每組數(shù)據(jù)在x軸上的位置
plt.bar(x - width/2, first, width, label='1')
plt.bar(x + width/2, second, width, label='2')
plt.ylabel('Scores')
plt.title('2 datasets')
# x軸刻度標(biāo)簽位置不進(jìn)行計(jì)算
plt.xticks(x, labels=labels)
plt.legend()
# 三組數(shù)據(jù)
plt.subplot(132)
x = np.arange(len(labels)) # x軸刻度標(biāo)簽位置
width = 0.25 # 柱子的寬度
# 計(jì)算每個(gè)柱子在x軸上的位置,保證x軸刻度標(biāo)簽居中
# x - width,x, x + width即每組數(shù)據(jù)在x軸上的位置
plt.bar(x - width, first, width, label='1')
plt.bar(x, second, width, label='2')
plt.bar(x + width, third, width, label='3')
plt.ylabel('Scores')
plt.title('3 datasets')
# x軸刻度標(biāo)簽位置不進(jìn)行計(jì)算
plt.xticks(x, labels=labels)
plt.legend()
# 四組數(shù)據(jù)
plt.subplot(133)
x = np.arange(len(labels)) # x軸刻度標(biāo)簽位置
width = 0.2 # 柱子的寬度
# 計(jì)算每個(gè)柱子在x軸上的位置,保證x軸刻度標(biāo)簽居中
plt.bar(x - 1.5*width, first, width, label='1')
plt.bar(x - 0.5*width, second, width, label='2')
plt.bar(x + 0.5*width, third, width, label='3')
plt.bar(x + 1.5*width, fourth, width, label='4')
plt.ylabel('Scores')
plt.title('4 datasets')
# x軸刻度標(biāo)簽位置不進(jìn)行計(jì)算
plt.xticks(x, labels=labels)
plt.legend()

plt.show()

通用多組并列柱狀圖的簡便創(chuàng)建方法

上面的示例比較簡易,有一些問題沒有考慮。為了便于重復(fù)使用,下面的通用方法可調(diào)整x軸標(biāo)簽刻度步長、每組柱子的總寬度、每組柱子之間的間隙、組與組之間的間隙。

方法一

import matplotlib
import matplotlib.pyplot as plt
import numpy as np

label = ['G1', 'G2', 'G3', 'G4', 'G5']
first = [20, 34, 30, 35, 27]
second = [25, 32, 34, 20, 25]
third = [21, 31, 37, 21, 28]
fourth = [26, 31, 35, 27, 21]
data = [first, second, third, fourth]


def create_multi_bars(labels, datas, tick_step=1, group_gap=0.2, bar_gap=0):
  '''
  labels : x軸坐標(biāo)標(biāo)簽序列
  datas :數(shù)據(jù)集,二維列表,要求列表每個(gè)元素的長度必須與labels的長度一致
  tick_step :默認(rèn)x軸刻度步長為1,通過tick_step可調(diào)整x軸刻度步長。
  group_gap : 柱子組與組之間的間隙,最好為正值,否則組與組之間重疊
  bar_gap :每組柱子之間的空隙,默認(rèn)為0,每組柱子緊挨,正值每組柱子之間有間隙,負(fù)值每組柱子之間重疊
  '''
  # ticks為x軸刻度
  ticks = np.arange(len(labels)) * tick_step
  # group_num為數(shù)據(jù)的組數(shù),即每組柱子的柱子個(gè)數(shù)
  group_num = len(datas)
  # group_width為每組柱子的總寬度,group_gap 為柱子組與組之間的間隙。
  group_width = tick_step - group_gap
  # bar_span為每組柱子之間在x軸上的距離,即柱子寬度和間隙的總和
  bar_span = group_width / group_num
  # bar_width為每個(gè)柱子的實(shí)際寬度
  bar_width = bar_span - bar_gap
  # baseline_x為每組柱子第一個(gè)柱子的基準(zhǔn)x軸位置,隨后的柱子依次遞增bar_span即可
  baseline_x = ticks - (group_width - bar_span) / 2
  for index, y in enumerate(datas):
    plt.bar(baseline_x + index*bar_span, y, bar_width)
  plt.ylabel('Scores')
  plt.title('multi datasets')
  # x軸刻度標(biāo)簽位置與x軸刻度一致
  plt.xticks(ticks, labels)
  plt.show()
  

create_multi_bars(label, data, bar_gap=0.1)

方法二

import matplotlib
import matplotlib.pyplot as plt
import numpy as np

label = ['G1', 'G2', 'G3', 'G4', 'G5']
first = [20, 34, 30, 35, 27]
second = [25, 32, 34, 20, 25]
third = [21, 31, 37, 21, 28]
fourth = [26, 31, 35, 27, 21]
data = [first, second, third, fourth]


def create_multi_bars(labels, datas, tick_step=1, group_gap=0.2, bar_gap=0):
  '''
  labels : x軸坐標(biāo)標(biāo)簽序列
  datas :數(shù)據(jù)集,二維列表,要求列表每個(gè)元素的長度必須與labels的長度一致
  tick_step :默認(rèn)x軸刻度步長為1,通過tick_step可調(diào)整x軸刻度步長。
  group_gap : 柱子組與組之間的間隙,最好為正值,否則組與組之間重疊
  bar_gap :每組柱子之間的空隙,默認(rèn)為0,每組柱子緊挨,正值每組柱子之間有間隙,負(fù)值每組柱子之間重疊
  '''
  # x為每組柱子x軸的基準(zhǔn)位置
  x = np.arange(len(labels)) * tick_step
  # group_num為數(shù)據(jù)的組數(shù),即每組柱子的柱子個(gè)數(shù)
  group_num = len(datas)
  # group_width為每組柱子的總寬度,group_gap 為柱子組與組之間的間隙。
  group_width = tick_step - group_gap
  # bar_span為每組柱子之間在x軸上的距離,即柱子寬度和間隙的總和
  bar_span = group_width / group_num
  # bar_width為每個(gè)柱子的實(shí)際寬度
  bar_width = bar_span - bar_gap
  # 繪制柱子
  for index, y in enumerate(datas):
    plt.bar(x + index*bar_span, y, bar_width)
  plt.ylabel('Scores')
  plt.title('multi datasets')
  # ticks為新x軸刻度標(biāo)簽位置,即每組柱子x軸上的中心位置
  ticks = x + (group_width - bar_span) / 2
  plt.xticks(ticks, labels)
  plt.show()

create_multi_bars(label, data[:3], bar_gap=0.1)

您可能感興趣的文章:
  • Python matplotlib模塊及柱狀圖用法解析
  • python調(diào)用matplotlib模塊繪制柱狀圖
  • python使用matplotlib畫柱狀圖、散點(diǎn)圖
  • python+matplotlib實(shí)現(xiàn)禮盒柱狀圖實(shí)例代碼
  • python使用matplotlib繪制柱狀圖教程
  • matplotlib bar()實(shí)現(xiàn)百分比堆積柱狀圖

標(biāo)簽:郴州 大慶 海南 烏蘭察布 平頂山 合肥 烏蘭察布 哈爾濱

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《matplotlib bar()實(shí)現(xiàn)多組數(shù)據(jù)并列柱狀圖通用簡便創(chuàng)建方法》,本文關(guān)鍵詞  matplotlib,bar,實(shí)現(xiàn),多組,數(shù)據(jù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《matplotlib bar()實(shí)現(xiàn)多組數(shù)據(jù)并列柱狀圖通用簡便創(chuàng)建方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于matplotlib bar()實(shí)現(xiàn)多組數(shù)據(jù)并列柱狀圖通用簡便創(chuàng)建方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    97在线观看免费高| 亚洲男人的天堂av| 日韩av电影天堂| 国产高潮视频在线观看| 欧美性一区二区| 艳妇臀荡乳欲伦亚洲一区| 99精品视频一区二区三区| 色哟哟精品一区| 一区二区中文视频| www.视频一区| 在线精品视频一区二区| 亚洲女人小视频在线观看| av一区二区三区黑人| 91福利在线播放| 一区二区三区四区蜜桃| 久久久久亚洲av成人网人人软件| 欧美性猛交xxxx乱大交退制版| 亚洲激情网站免费观看| 91在线观看视频| 欧美日韩中文国产| 亚洲国产日韩在线一区模特 | 丁香六月综合激情| 我要看黄色一级片| 成人欧美一区二区三区视频网页| 99久久精品国产毛片| 欧美日韩一级片在线观看| 亚洲国产精品麻豆| 亚洲视频在线播放免费| 日韩欧美高清在线| 国产精品一线二线三线| 国产suv一区二区三区| 亚洲男人电影天堂| 亚洲高清无码久久| 欧美变态凌虐bdsm| 国产v综合v亚洲欧| 在线亚洲一区观看| 丝袜亚洲另类欧美| 国产亚洲精品精品精品| 综合久久久久久久| 在线观看亚洲免费视频| 日韩欧美一区二区三区在线| 精品在线观看免费| 色哟哟在线观看一区二区三区| 亚洲一区免费观看| 新91视频在线观看| 中文字幕不卡三区| 麻豆传媒在线看| 精品欧美一区二区在线观看| 国产精品一区二区在线观看不卡 | 激情六月婷婷久久| 天海翼在线视频| 一区二区三区四区在线播放| 四虎永久免费影院| 国产精品卡一卡二| 国产免费一区二区三区最新6| 久久精品视频免费| a级大片免费看| 久久这里都是精品| 99精品久久只有精品| 日韩一区二区三区四区| 国产成人在线色| 欧美日韩高清一区二区三区| 久久精品国产99久久6| 一本一本久久a久久精品综合麻豆| 亚洲第一综合色| 国产wwwwxxxx| 亚洲成a人v欧美综合天堂| 精品人妻中文无码av在线 | 日韩精品一区第一页| 99精品中文字幕| 视频一区二区中文字幕| 欧美爱爱免费视频| 奇米777欧美一区二区| 色综合激情久久| 狠狠色丁香婷婷综合久久片| 欧美视频第二页| 国产大陆亚洲精品国产| 91精品国产综合久久福利| 成人性生交大合| 日韩精品一区二区三区蜜臀 | av网站免费在线播放| 国产精品久久久久aaaa樱花 | 国产精品无码一区二区三| 欧美国产精品久久| 菠萝菠萝蜜网站| 亚洲欧美激情视频在线观看一区二区三区| free性中国hd国语露脸| 亚洲综合在线视频| 成年人午夜剧场| 久久国产精品72免费观看| 欧美日韩一区二区在线观看| 国产69精品久久99不卡| 精品国产乱码91久久久久久网站| 亚洲最大视频网| **性色生活片久久毛片| 亚欧精品视频一区二区三区| 日本女优在线视频一区二区| 欧美撒尿777hd撒尿| 不卡视频一二三四| 久久久.com| 熟女俱乐部一区二区| 视频一区二区三区入口| 欧美午夜一区二区三区免费大片| 岛国一区二区三区| 久久久久久久电影| 疯狂揉花蒂控制高潮h| 亚洲va韩国va欧美va精品| 91久久香蕉国产日韩欧美9色| 国产一区二区三区免费看| 欧美成人女星排行榜| youjizz.com国产| 一区二区三区日本| 日本黄色小说视频| 国产不卡视频在线观看| 国产欧美一区二区精品秋霞影院| 国产伦精品一区二区三区视频女| 日韩电影一区二区三区| 宅男噜噜噜66一区二区66| 97中文字幕在线观看| 一个色在线综合| 欧美性大战久久久久久久蜜臀| av不卡一区二区三区| 国产精品久久久久久久浪潮网站| 网站永久看片免费| 国产美女视频91| 久久精品一区二区| 亚洲午夜久久久久久久久红桃| 无码av中文一区二区三区桃花岛| 欧美日韩成人综合在线一区二区| www.亚洲免费av| 亚洲男女毛片无遮挡| 在线看不卡av| 国产精品偷伦视频免费观看了| 亚洲在线视频一区| 欧美日韩国产天堂| 完美搭档在线观看| 天天射综合影视| 日韩欧美的一区| 一色道久久88加勒比一| 国产在线不卡视频| 国产精品人人做人人爽人人添| 四虎永久免费在线| heyzo一本久久综合| 亚洲另类一区二区| 欧美人妖巨大在线| 久久丫精品国产亚洲av不卡| 久热成人在线视频| 国产午夜三级一区二区三| 国产精品99久久久久久成人| av电影在线观看一区| 亚洲综合免费观看高清完整版在线 | 最好看的中文字幕久久| 欧美在线色视频| 久久久久亚洲AV成人网人人小说| 肉肉av福利一精品导航| 精品欧美乱码久久久久久 | 日韩精品欧美精品| 久久品道一品道久久精品| 天天色天天综合| 91av免费观看| 日韩不卡免费视频| 国产欧美一区二区三区在线老狼| 在线观看美女av| youjizz.com日本| 精品一区二区三区在线观看国产| 日本一区二区三区免费乱视频| 日本高清不卡aⅴ免费网站| 日本人妻一区二区三区| 美女视频一区二区| 国产精品视频一二三区| 欧美三级电影网站| 在线免费观看视频| a亚洲天堂av| 蜜桃一区二区三区在线观看| 中文字幕av免费专区久久| 欧美日韩精品高清| 蜜臀久久99精品久久久久久| 成人免费不卡视频| 日本美女一区二区三区视频| 国产精品三级电影| 日韩一区国产二区欧美三区| 99久久久免费精品| 婷婷五月精品中文字幕| 国产毛片精品一区| 亚洲自拍偷拍麻豆| 国产女人aaa级久久久级| 欧洲另类一二三四区| 国产人妻大战黑人20p| aaa亚洲精品一二三区| 久久国产精品无码网站| 一区二区三区在线观看国产 | 国产精品538一区二区在线| 亚洲一区二区欧美日韩| 欧美经典三级视频一区二区三区| 欧美日本视频在线| 三级黄色在线观看| 人妻体内射精一区二区| 91麻豆国产在线观看| 韩国一区二区视频| 亚洲成人自拍网|