91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

發布時間:2022-09-23 14:21:14 來源:億速云 閱讀:250 作者:iii 欄目:開發技術

本篇內容介紹了“怎么使用Python matplotlib.pyplot.hist()繪制直方圖”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

    一、matplotlib.pyplot.hist()語法

    hist(x, bins=None, range=None, density=False,weights=None, cumulative=False, 
    bottom=None, histtype='bar', align='mid', orientation='vertical', rwidth=None,
     log=False, color=None, label=None, stacked=False, *, data=None, **kwargs)
    plt.hist(
        x,# 指定要繪制直方圖的數據
        bins,# 設置長條形的數目
        range,# 指定直方圖數據的上下界,默認包含繪圖數據的最大值和最小值(范圍)
        density=True or False, # 如果"True",將y軸轉化為密度刻度 默認為None
        weights,# 該參數可為每一個數據點設置權重
        cumulative=True or False,# 是否需要計算累計頻數或頻率 默認值False
        bottom=0, # 可以為直方圖的每個條形添加基準線,默認為0
        histtype={'bar', 'barstacked', 'step', 'stepfilled'} # 設置樣式
                   # bar柱狀形數據并排,默認值。
                   # barstacked在柱狀形數據重疊并排(相同的在一起)
                   # step柱狀形顏色不填充 
                   # stepfilled填充的線性
        align='mid' or 'left' or 'right', # 設置條形邊界值的對其方式,默認為mid,除此還有'left'和'right'
        orientation={'vertical', 'horizontal'},# 設置直方圖的擺放方向,默認為垂直方向vertical
        rwidth,# 設置直方圖條形寬度的百分比
        log=True or False,# 是否需要對繪圖數據進行log變換 默認值False
        color='r',# 設置直方圖的填充色
        label, # 設置直方圖的標簽
        stacked=True or False, # 當有多個數據時,是否需要將直方圖呈堆疊擺放,默認False水平擺放;
        facecolor,# 設置長條形顏色(和color效果一致,設置color就不用再設置facecolor)
        edgecolor,# 設置邊框的顏色
        alpha # 設置透明度  
    )
    # 注意組距,得到滿意的展示效果
    # 注意y軸所代表的變量是頻數還是頻率

    二、繪制直方圖

    ①繪制簡單直方圖

    import matplotlib.pyplot as plt
    import numpy as np
     
    data=np.random.randint(140,180,200)
     
    # bins設置長條形的數目
    plt.hist(data,bins=10)
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

    ②:各個參數繪制的直方圖

    (1)histtype參數(設置樣式bar、barstacked、step、stepfilled)

    1. bar:柱狀形數據并排(因為bar是默認值,可以不寫)

    import matplotlib.pyplot as plt
    import numpy as np
     
    data=np.random.randint(140,180,200)
     
    plt.hist(data,bins=10)
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

     2. barstacked:在柱狀形數據重疊并排(相同的在一起)

    import matplotlib.pyplot as plt
    import numpy as np
     
    data=np.random.randint(140,180,200)
     
    plt.hist(data,bins=10,histtype='barstacked')
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

     3. step:柱狀形顏色不填充 

    import matplotlib.pyplot as plt
    import numpy as np
     
    data=np.random.randint(140,180,200)
     
    plt.hist(data,bins=10,histtype='step')
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

     4. stepfilled:生成一個默認填充的線圖

    import matplotlib.pyplot as plt
    import numpy as np
     
    data=np.random.randint(140,180,200)
     
    plt.hist(data,bins=10,histtype='stepfilled')
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

    (2)range參數(指定直方圖數據的上下界,默認包含繪圖數據的最大值和最小值(范圍))

    不想顯示數據全部范圍,只想查看數據某一個范圍內的數據。(例:下圖數據范圍為140~180之間,只想查看150~170之間的數據)

    import matplotlib.pyplot as plt
    import numpy as np
     
    data=np.random.randint(140,180,200)
     
    plt.hist(data,bins=10,histtype='bar',range=(150,170))
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

    (3)orientation參數 (設置直方圖的擺放位置,vertical垂直方向 horizontal水平方向,默認值:vertical垂直方向)

    垂直方向(默認垂直,可以不寫):

    import matplotlib.pyplot as plt
    import numpy as np
     
    data=np.random.randint(140,180,200)
     
    plt.hist(data,bins=10)
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

    horizontal水平方向:

    import matplotlib.pyplot as plt
    import numpy as np
     
    data=np.random.randint(140,180,200)
     
    plt.hist(data,bins=10,orientation='horizontal')
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

    (4)density參數(bool值,True:將坐標軸轉化為密度刻度,默認值:None)

    直方圖為垂直方向時,觀察y軸:

    import matplotlib.pyplot as plt
    import numpy as np
     
    data=np.random.randint(140,180,200)
     
    plt.hist(data,bins=10,density=True)
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

     直方圖為水平方向時,觀察x軸:

    import matplotlib.pyplot as plt
    import numpy as np
     
    data=np.random.randint(140,180,200)
     
    plt.hist(data,bins=10,orientation='horizontal',density=True)
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

    (5)weights參數(為每個數據點設置權重)

      直方圖為垂直方向時,觀察y軸:

    import matplotlib.pyplot as plt
    import numpy as np
     
    data=np.random.randint(140,180,200)
     
    plt.hist(data,bins=10,weights=data)
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

      直方圖為水平方向時,觀察x軸:

    import matplotlib.pyplot as plt
    import numpy as np
     
    data=np.random.randint(140,180,200)
     
    plt.hist(data,bins=10,orientation='horizontal',weights=data)
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

    (6)cumulative參數(bool值,是否需要計算累計頻數或頻率,默認值:False)

    頻數:指事件發生的次數

    頻率:指次數占總次數n的比例

    頻率=頻數/n

      直方圖為垂直方向時:

    import matplotlib.pyplot as plt
    import numpy as np
     
    data=np.random.randint(140,180,200)
     
    plt.hist(data,bins=10,cumulative=True)
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

    直方圖為水平方向時: 

    import matplotlib.pyplot as plt
    import numpy as np
     
    data=np.random.randint(140,180,200)
     
    plt.hist(data,bins=10,orientation='horizontal',cumulative=True)
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

    (7)bottom參數(為直方圖添加基準線)

    直方圖為垂直方向時,觀察y軸:

    import matplotlib.pyplot as plt
    import numpy as np
     
    data=np.random.randint(140,180,200)
     
    plt.hist(data,bins=10,bottom=170)
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

     直方圖為水平方向時,觀察x軸:

    import matplotlib.pyplot as plt
    import numpy as np
     
    data=np.random.randint(140,180,200)
     
    plt.hist(data,bins=10,orientation='horizontal',bottom=170)
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

    (8)align參數(設置條形邊界值的對其方式,mid、left、right,默認值:mid)

    mid(默認值可以不寫):

    import matplotlib.pyplot as plt
    import numpy as np
     
    data=np.random.randint(140,180,200)
     
    plt.hist(data,bins=10)
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

     left:

    import matplotlib.pyplot as plt
    import numpy as np
     
    data=np.random.randint(140,180,200)
     
    plt.hist(data,bins=10,align='left')
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

     right:

    import matplotlib.pyplot as plt
    import numpy as np
     
    data=np.random.randint(140,180,200)
     
    plt.hist(data,bins=10,align='right')
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

    (9)rwidth參數(設置直方圖條形寬度的百分比)
    import matplotlib.pyplot as plt
    import numpy as np
     
    data=np.random.randint(140,180,200)
     
    plt.hist(data,bins=10,rwidth=0.5)
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

    (10)log參數(bool值,對繪圖數據進行log變換 默認值:False)

    直方圖為垂直方向時,觀察y軸:

    import matplotlib.pyplot as plt
    import numpy as np
     
    data=np.random.randint(140,180,200)
     
    plt.hist(data,bins=10,log=True)
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

     直方圖為水平方向時,觀察x軸:

    import matplotlib.pyplot as plt
    import numpy as np
     
    data=np.random.randint(140,180,200)
     
    plt.hist(data,bins=10,orientation='horizontal',log=True)
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

    (11)stacked參數(bool值,當有多個數據時,是否需要將直方圖呈堆疊擺放,默認值:False水平擺放)

    stacked=False時:(水平擺放)

    import matplotlib.pyplot as plt
    import numpy as np
     
    x=np.random.randint(140,180,200)
    y=np.random.randint(140,180,200)
     
    plt.hist([x,y], bins=10)
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

     stacked=True時:(堆疊擺放)

    import matplotlib.pyplot as plt
    import numpy as np
     
    x=np.random.randint(140,180,200)
    y=np.random.randint(140,180,200)
     
    plt.hist([x,y], bins=10,stacked=True)
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

    (12)直方圖所有參數展示:
    import matplotlib.pyplot as plt
    import numpy as np
     
    plt.rcParams['font.sans-serif']=['FangSong']
     
    fig=plt.figure(figsize=(8,8))
    data=np.random.randint(140,180,200)
     
    # data數據
    # bins設置長條形的個數
    # histtype設置樣式 barstacked:在柱狀形數據重疊并排(相同的在一起)
    # range顯示范圍
    # cumulative累計頻數
    # align設置邊界對齊值為中心對齊
    # orientation設置擺放方向為horizontal水平方向
    # rwidth設置長條形寬度的百分比為20
    # color設置長條形的填充顏色為#FFB6C1
    # label設置直方圖的標簽
    # edgecolor設置長條形邊框線為#FFD700
    # alpha設置長條形的透明度為0.5
    # density=True 長條形呈水平方向:density將x軸轉換為密度刻度  長條形呈垂直方向:density將y軸轉換為密度刻度
    # weights=data為每個數據點設置權重
    # bottom設置基準線為15000
    # log=True是否對數據進行log轉換
    plt.hist(data,bins=10,histtype='barstacked',range=(140,170),cumulative=True,align='mid',orientation='horizontal',rwidth=20,color='#FFB6C1',
            label='數量',edgecolor='#FFD700',alpha=0.5,weights=data,bottom=10000,log=False)
     
    plt.xticks(size=20) # x軸刻度值大小
    plt.yticks(size=20) # y軸刻度值大小
     
    plt.title('hist',size=30) # 設置直方圖標簽
    plt.xlabel('x軸',size=15) # 設置x軸標簽
    plt.ylabel('y軸',size=20) # 設置y軸標簽
     
    plt.rcParams.update({'font.size':20})  # 修改圖例字體大小
     
    plt.legend()
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

     三、在直方圖上畫折線圖

    import matplotlib.pyplot as plt
    import numpy as np
     
    x=np.random.normal(100,15,10000)
    y=np.random.normal(80,15,10000)
     
    # density=True設置為密度刻度
    n1, bins1, patches1 = plt.hist(x, bins=50,  density=True, color='#00B8B8', alpha=1)
    n2, bins2, patches2 = plt.hist(y, bins=50,  density=True, color='r', alpha=0.2)
     
    plt.plot(bins1[:-1],n1,':',lw=3)
    plt.plot(bins2[:-1],n2,'--',lw=3)
     
    plt.show()

    怎么使用Python?matplotlib.pyplot.hist()繪制直方圖

    “怎么使用Python matplotlib.pyplot.hist()繪制直方圖”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    饶河县| 四会市| 福海县| 留坝县| 安吉县| 龙口市| 三河市| 青铜峡市| 河池市| 固镇县| 隆子县| 诏安县| 威远县| 伊宁县| 辽阳县| 保康县| 宣恩县| 蕉岭县| 新龙县| 阳西县| 聂拉木县| 眉山市| 葵青区| 手机| 滨州市| 当阳市| 鄯善县| 龙山县| 保康县| 兴城市| 黎平县| 洛浦县| 南宫市| 兴安县| 嫩江县| 富顺县| 沈阳市| 财经| 三明市| 巴林左旗| 祁阳县|