最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 畫條形圖(柱狀圖)實(shí)例

 更新時(shí)間:2020年04月24日 09:09:23   作者:心態(tài)與做事習(xí)慣決定人生高度  
這篇文章主要介紹了python 畫條形圖(柱狀圖)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

條形圖(bar chart),也稱為柱狀圖,是一種以長(zhǎng)方形的長(zhǎng)度為變量的統(tǒng)計(jì)圖表,長(zhǎng)方形的長(zhǎng)度與它所對(duì)應(yīng)的變量數(shù)值呈一定比例。

1. 豎放條形圖

畫條形圖要用到 pyplot 中的 bar 函數(shù),該函數(shù)的基本語(yǔ)法為:

bar(x, height, [width], **kwargs)

x 數(shù)組,每個(gè)條形的橫坐標(biāo)
height 個(gè)數(shù)或一個(gè)數(shù)組,條形的高度
[width] 可選參數(shù),一個(gè)數(shù)或一個(gè)數(shù)組,條形的寬度,默認(rèn)為 0.8
**kwargs 不定長(zhǎng)的關(guān)鍵字參數(shù),用字典形式設(shè)置條形圖的其他屬性

**kwargs 中常設(shè)置的參數(shù)包括圖形標(biāo)簽 label,顏色標(biāo)簽 color,不透明度 alpha 等。

假設(shè)某項(xiàng)針對(duì)男女大學(xué)生購(gòu)買飲用水愛好的調(diào)查結(jié)果如下表:

碳酸飲料 6 9
綠茶 7 4
礦泉水 6 4
其他 2 6
果汁 1 5
總計(jì) 22 28

畫出男生飲用水情況的直方圖,代碼如下:

import matplotlib.pyplot as plt

# 這兩行代碼解決 plt 中文顯示的問題
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

waters = ('碳酸飲料', '綠茶', '礦泉水', '果汁', '其他')
buy_number = [6, 7, 6, 1, 2]

plt.bar(waters, buy_number)
plt.title('男性購(gòu)買飲用水情況的調(diào)查結(jié)果')

plt.show()

圖形:

2. 橫放條形圖

若要生成橫的條形圖,則可以使用 barh 函數(shù),其語(yǔ)法與 bar 函數(shù)非常類似。

bar(x, width, [height], **kwargs)

y 數(shù)組,每個(gè)條形的縱坐標(biāo)
width 一個(gè)數(shù)或一個(gè)數(shù)組,條形的寬度
[height] 可選參數(shù),一個(gè)數(shù)或一個(gè)數(shù)組,條形的高度,默認(rèn)為 0.8
**kwargs 不定長(zhǎng)的關(guān)鍵字參數(shù),用字典形式設(shè)置條形圖的其他屬性

代碼:

import matplotlib.pyplot as plt

# 這兩行代碼解決 plt 中文顯示的問題
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

waters = ('碳酸飲料', '綠茶', '礦泉水', '果汁', '其他')
buy_number = [6, 7, 6, 1, 2]

plt.barh(waters, buy_number) # 橫放條形圖函數(shù) barh
plt.title('男性購(gòu)買飲用水情況的調(diào)查結(jié)果')

plt.show()

3. 并列條形圖

若要將男生與女生的調(diào)查情況畫出兩個(gè)條形圖一塊顯示,則可以使用 bar 或 barh 函數(shù)兩次,并調(diào)整 bar 或 barh 函數(shù)的條形圖位置坐標(biāo)以及相應(yīng)刻度,使得兩組條形圖能夠并排顯示。

import matplotlib.pyplot as plt
import numpy as np

# 這兩行代碼解決 plt 中文顯示的問題
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

# 輸入統(tǒng)計(jì)數(shù)據(jù)
waters = ('碳酸飲料', '綠茶', '礦泉水', '果汁', '其他')
buy_number_male = [6, 7, 6, 1, 2]
buy_number_female = [9, 4, 4, 5, 6]

bar_width = 0.3 # 條形寬度
index_male = np.arange(len(waters)) # 男生條形圖的橫坐標(biāo)
index_female = index_male + bar_width # 女生條形圖的橫坐標(biāo)

# 使用兩次 bar 函數(shù)畫出兩組條形圖
plt.bar(index_male, height=buy_number_male, width=bar_width, color='b', label='男性')
plt.bar(index_female, height=buy_number_female, width=bar_width, color='g', label='女性')

plt.legend() # 顯示圖例
plt.xticks(index_male + bar_width/2, waters) # 讓橫坐標(biāo)軸刻度顯示 waters 里的飲用水, index_male + bar_width/2 為橫坐標(biāo)軸刻度的位置
plt.ylabel('購(gòu)買量') # 縱坐標(biāo)軸標(biāo)題
plt.title('購(gòu)買飲用水情況的調(diào)查結(jié)果') # 圖形標(biāo)題

plt.show()

補(bǔ)充知識(shí):Python 條形圖與直方圖有非常大的區(qū)別

區(qū)別:

首先,條形圖是用條形的長(zhǎng)度表示各類別頻數(shù)的多少,其寬度(表示類別)則是固定的;

直方圖是用面積表示各組頻數(shù)的多少,矩形的高度表示每一組的頻數(shù)或頻率,寬度則表示各組的組距,因此其高度與寬度均有意義。

其次,由于分組數(shù)據(jù)具有連續(xù)性,直方圖的各矩形通常是連續(xù)排列,而條形圖則是分開排列。

最后,條形圖主要用于展示分類數(shù)據(jù),而直方圖則主要用于展示數(shù)據(jù)型數(shù)據(jù),我們初中學(xué)的就是條形統(tǒng)計(jì)圖,很顯然有沒有當(dāng)初那種感覺?(身高-年齡 條形統(tǒng)計(jì)圖)在坐標(biāo)上畫出每個(gè)年齡對(duì)應(yīng)的頻數(shù)。這就是我們研究數(shù)據(jù)分布最喜歡用的。如果還是有點(diǎn)蒙,下面相同數(shù)據(jù)對(duì)比一下這兩種圖像你就會(huì)明白!

數(shù)據(jù):

年齡 0 1 2 3 4 5 6 7 8 9 10 總數(shù)
人數(shù) 3 6 7 11 13 18 15 11 7 5 4 100
條形統(tǒng)計(jì)圖(注重每類多少個(gè)):

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
plt.rcParams['font.sans-serif']=['SimHei'] #正常顯示中文
plt.rcParams['axes.unicode_minus']=False #正常顯示負(fù)號(hào)
 
# d=pd.read_excel('E:\Python\projects\data\data100.xlsx',header=None)
# d=d[0]
# d=list(d)
 
ages=range(11)
count=[3,6,7,11,13,18,15,11,7,5,4]
plt.bar(ages,count, label='graph 1')
# params
# x: 條形圖x軸
# y:條形圖的高度
# width:條形圖的寬度 默認(rèn)是0.8
# bottom:條形底部的y坐標(biāo)值 默認(rèn)是0
# align:center / edge 條形圖是否以x軸坐標(biāo)為中心點(diǎn)或者是以x軸坐標(biāo)為邊緣
plt.legend()
plt.xlabel('ages')
plt.ylabel('count')
plt.title(u'測(cè)試?yán)印獥l形圖')
 
for i in range(11):
  plt.text(i,count[i]+0.1,"%s"%count[i],va='center')
 
plt.show()

直方圖:

import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
import numpy as np
import pandas as pd
plt.rcParams['font.sans-serif']=['SimHei'] #正常顯示中文
plt.rcParams['axes.unicode_minus']=False #正常顯示負(fù)號(hào)
# d=np.random.normal(0,1,100)
d=pd.read_excel('E:\Python\projects\data\data100.xlsx',header=None)
d=d[0]
d=list(d)
print(d)
n, bins, patches = plt.hist(x=d, bins=11, color='#0504aa',
        alpha=0.8, rwidth=0.6) #alpha 是顏色深度 rwidth 條形寬度,bins條形箱的數(shù)目
 
plt.grid(axis='y', alpha=0.4) #alpha 網(wǎng)格顏色深度
plt.xlabel('age')
plt.ylabel('count')
plt.title('100個(gè)樣本分布如下')
plt.text(20, 40, r'$\mu=0, sigma=1$')#前面是坐標(biāo),寫字
# plt.ylim(19) #設(shè)置y的范圍
 
plt.show()

對(duì)比兩個(gè)圖就能知道,條形圖將類別對(duì)的死死的,但是直方圖就用間隔來(lái)劃分每一柱多少,雖然大體相差不大,但是對(duì)于數(shù)據(jù)研究那影響可大也可小??傊私饬藚^(qū)別才能避免不必要的犯錯(cuò)。

以上這篇python 畫條形圖(柱狀圖)實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Django 多語(yǔ)言教程的實(shí)現(xiàn)(i18n)

    Django 多語(yǔ)言教程的實(shí)現(xiàn)(i18n)

    這篇文章主要介紹了Django 多語(yǔ)言教程的實(shí)現(xiàn)(i18n),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • Python3實(shí)現(xiàn)的畫圖及加載圖片動(dòng)畫效果示例

    Python3實(shí)現(xiàn)的畫圖及加載圖片動(dòng)畫效果示例

    這篇文章主要介紹了Python3實(shí)現(xiàn)的畫圖及加載圖片動(dòng)畫效果,結(jié)合實(shí)例形式分析了Python3基于tkinter庫(kù)進(jìn)行圖片加載動(dòng)畫效果的相關(guān)實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下
    2018-01-01
  • Python 實(shí)現(xiàn)Mac 屏幕截圖詳解

    Python 實(shí)現(xiàn)Mac 屏幕截圖詳解

    今天小編就為大家分享一篇對(duì)Python 實(shí)現(xiàn)Mac 屏幕截圖詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-10-10
  • Python使用dis模塊把Python反編譯為字節(jié)碼的用法詳解

    Python使用dis模塊把Python反編譯為字節(jié)碼的用法詳解

    通常來(lái)說(shuō)Python的性能或代碼質(zhì)量的評(píng)估可以通過(guò)dis模塊獲取到對(duì)應(yīng)的字節(jié)碼指令來(lái)進(jìn)行評(píng)估,因而這里我們就來(lái)看一下Python使用dis模塊把Python反編譯為字節(jié)碼的用法詳解:
    2016-06-06
  • 講解Python中if語(yǔ)句的嵌套用法

    講解Python中if語(yǔ)句的嵌套用法

    這篇文章主要介紹了講解Python中if語(yǔ)句的嵌套用法,是Python入門當(dāng)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • Python中處理無(wú)效數(shù)據(jù)的詳細(xì)教程

    Python中處理無(wú)效數(shù)據(jù)的詳細(xì)教程

    無(wú)效數(shù)據(jù)是指不符合數(shù)據(jù)收集目的或數(shù)據(jù)收集標(biāo)準(zhǔn)的數(shù)據(jù),這些數(shù)據(jù)可能來(lái)自于不準(zhǔn)確的測(cè)量、缺失值、錯(cuò)誤標(biāo)注、虛假的數(shù)據(jù)源或其他問題,本文就將帶大家學(xué)習(xí)Python中如何處理無(wú)效數(shù)據(jù),感興趣的同學(xué)可以跟著小編一起來(lái)學(xué)習(xí)
    2023-06-06
  • python-str,list,set間的轉(zhuǎn)換實(shí)例

    python-str,list,set間的轉(zhuǎn)換實(shí)例

    今天小編就為大家分享一篇python-str,list,set間的轉(zhuǎn)換實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Python中Numpy模塊使用詳解

    Python中Numpy模塊使用詳解

    這篇文章主要介紹了Python中Numpy模塊使用詳解,NumPy是Python 的一個(gè)擴(kuò)展程序庫(kù),支持大量的維度數(shù)組與矩陣運(yùn)算。更多相關(guān)內(nèi)容需要的朋友可以參考一下
    2022-07-07
  • Python文本情感分類識(shí)別基于SVM算法Django框架實(shí)現(xiàn)

    Python文本情感分類識(shí)別基于SVM算法Django框架實(shí)現(xiàn)

    這篇文章主要為大家介紹了Python文本情感分類識(shí)別基于SVM算法Django框架實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • pandas 實(shí)現(xiàn)某一列分組,其他列合并成list

    pandas 實(shí)現(xiàn)某一列分組,其他列合并成list

    這篇文章主要介紹了pandas 實(shí)現(xiàn)某一列分組,其他列合并成list的案例。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03

最新評(píng)論

金秀| 巴中市| 黄浦区| 永胜县| 凤山县| 房产| 定远县| 天柱县| 绥滨县| 深圳市| 富宁县| 科技| 普陀区| 邵武市| 洛川县| 南康市| 增城市| 伽师县| 斗六市| 红桥区| 朔州市| 永年县| 车致| 探索| 阜城县| 时尚| 巧家县| 合作市| 徐水县| 布尔津县| 沈丘县| 勃利县| 财经| 乌鲁木齐县| 东乌| 都江堰市| 瑞丽市| 黄冈市| 林州市| 红桥区| 贺州市|