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

溫馨提示×

溫馨提示×

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

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

怎么使用Python的Matplotlib庫繪圖

發布時間:2022-09-23 10:47:50 來源:億速云 閱讀:189 作者:iii 欄目:開發技術

這篇“怎么使用Python的Matplotlib庫繪圖”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“怎么使用Python的Matplotlib庫繪圖”文章吧。

    中文字體設置:

    # 字體設置
    plt.rcParams['font.sans-serif'] = ["SimHei"]
    plt.rcParams["axes.unicode_minus"] = False

    1、基本使用

    Matplotlib:是一個Python的2D繪圖庫,通過Matplotlib,開發者可以僅需要幾行代碼,便可以生成折線圖,直方圖,條形圖,餅狀圖,散點圖等。
    plot是一個畫圖的函數,他的參數:plot([x],y,[fmt],data=None,**kwargs)

    1.1、線條樣式 & 顏色

    (1)點線形式

    怎么使用Python的Matplotlib庫繪圖

    (2)線條顏色

    怎么使用Python的Matplotlib庫繪圖

    import matplotlib.pyplot as plt
    import numpy as np
    # 原始線圖
    plt.plot(range(10),[np.random.randint(0,10) for x in range(10)])
    # 點線圖
    plt.plot(range(10),[np.random.randint(0,10) for x in range(10)],"*")
    # 線條顏色
    plt.plot([1,2,3,4,5],[1,2,3,4,5],'r') #將顏色線條設置成紅色

    運行結果:

    怎么使用Python的Matplotlib庫繪圖

    1.2、軸&標題

    • 1、設置圖標題:plt.title

    • 2、設置軸標題:plt.xlabel & plt.ylabel  -  標題名稱

    • 3、設置軸刻度:plt.xticks & plt.yticks  -  刻度長度,刻度標題

    范例:

    x = range(10)
    y = [np.random.randint(0,10) for x in range(10)]
    plt.plot(x,y,linewidth=10,color='red')
    # 設置圖標題
    plt.title("sin函數")
    # 設置軸標題
    plt.xlabel("x軸")
    plt.ylabel("y軸")
    # 設置軸刻度
    plt.xticks(range(10),["第%d天"%x for x in range(1,10)])
    plt.yticks(range(10),["第%d天"%x for x in range(1,10)])
    # 加載字體
    plt.rcParams['font.sans-serif'] = ["SimHei"]
    plt.rcParams["axes.unicode_minus"] = False

    運行結果:

    怎么使用Python的Matplotlib庫繪圖

    1.3、marker設置

    marker:關鍵點重點標記

    范例:

    x = range(10)
    y = [np.random.randint(0,10) for x in range(10)]
    plt.plot(x,y,linewidth=10,color='red')
    # 重點標記
    plt.plot(x,y,marker="o",markerfacecolor='k',markersize=10)

    運行結果:

    怎么使用Python的Matplotlib庫繪圖

    1.4、注釋文本

    annotate:注釋文本

    范例:

    x = range(10)
    y = [np.random.randint(0,10) for x in range(10)]
    plt.plot(x,y,linewidth=10,color='red')
    # 重點標記
    plt.plot(x,y,marker="o",markerfacecolor='k',markersize=10)
    
    # 注釋文本設置
    plt.annotate('local max', xy=(5, 5), xytext=(10,15),
    arrowprops=dict(facecolor='black',shrink=0.05),
    )

    運行結果:

    怎么使用Python的Matplotlib庫繪圖

    1.5、設置圖形樣式

    plt.figure:調整圖片的大小和像素
    	`num`:圖的編號,
    	`figsize`:單位是英寸,
    	`dpi`:每英寸的像素點,
    	`facecolor`:圖片背景顏色,
    	`edgecolor`:邊框顏色,
    	`frameon`:是否繪制畫板。

    范例:

    x = range(10)
    y = [np.random.randint(0,10) for x in range(10)]
    # 設置圖形樣式
    plt.figure(figsize=(20,10),dpi=80)
    plt.plot(x,y,linewidth=10,color='red')

    運行結果:

    怎么使用Python的Matplotlib庫繪圖

    2、條形圖

    應用場景:

    • 1. 數量統計。

    • 2. 頻率統計。

    相關參數:

    barh:條形圖

    • 1. `x`:一個數組或者列表,代表需要繪制的條形圖的x軸的坐標點。  

    • 2. `height`:一個數組或者列表,代表需要繪制的條形圖y軸的坐標點。  

    • 3. `width`:每一個條形圖的寬度,默認是0.8的寬度。  

    • 4. `bottom`:`y`軸的基線,默認是0,也就是距離底部為0.  

    • 5. `align`:對齊方式,默認是`center`,也就是跟指定的`x`坐標居中對齊,還有為`edge`,靠邊對齊,具體靠右邊還是靠左邊,看`width`的正負。  

    • 6. `color`:條形圖的顏色。

    2.1、橫向條形圖 范例

    movies = {
        "流浪地球":40.78,
        "飛馳人生":15.77,
        "瘋狂的外星人":20.83,
        "新喜劇之王":6.10,
        "廉政風云":1.10,
        "神探蒲松齡":1.49,
        "小豬佩奇過大年":1.22,
        "熊出沒·原始時代":6.71
    }
    plt.barh(np.arange(len(movies)),list(movies.values()))
    plt.yticks(np.arange(len(movies)),list(movies.keys()),fontproperties=font)
    plt.grid()

    運行結果

    怎么使用Python的Matplotlib庫繪圖

    2.2、分組條形圖

    范例:

    movies = {
        "流浪地球":[2.01,4.59,7.99,11.83,16],
        "飛馳人生":[3.19,5.08,6.73,8.10,9.35],
        "瘋狂的外星人":[4.07,6.92,9.30,11.29,13.03],
        "新喜劇之王":[2.72,3.79,4.45,4.83,5.11],
        "廉政風云":[0.56,0.74,0.83,0.88,0.92],
        "神探蒲松齡":[0.66,0.95,1.10,1.17,1.23],
        "小豬佩奇過大年":[0.58,0.81,0.94,1.01,1.07],
        "熊出沒·原始時代":[1.13,1.96,2.73,3.42,4.05]
    }
    plt.figure(figsize=(20,8))
    width = 0.75
    bin_width = width/5
    movie_pd = pd.DataFrame(movies)
    ind = np.arange(0,len(movies))
    
    # 第一種方案
    for index in movie_pd.index:
        day_tickets = movie_pd.iloc[index]
        xs = ind-(bin_width*(2-index))
        plt.bar(xs,day_tickets,width=bin_width,label="第%d天"%(index+1))
        for ticket,x in zip(day_tickets,xs):
            plt.annotate(ticket,xy=(x,ticket),xytext=(x-0.1,ticket+0.1))
    # 設置圖例
    plt.ylabel("單位:億")
    plt.title("春節前5天電影票房記錄")
    # 設置x軸的坐標
    plt.xticks(ind,movie_pd.columns)
    plt.xlim
    plt.grid(True)
    plt.show()

    運行結果:

    怎么使用Python的Matplotlib庫繪圖

    2.3、堆疊條形圖

    范例:

    menMeans = (20, 35, 30, 35, 27)
    womenMeans = (25, 32, 34, 20, 25)
    groupNames = ('G1','G2','G3','G4','G5')
    xs = np.arange(len(menMeans))
    plt.bar(xs,menMeans)
    plt.bar(xs,womenMeans,bottom=menMeans)
    plt.xticks(xs,groupNames)
    plt.show()

    運行結果:

    怎么使用Python的Matplotlib庫繪圖

    3、直方圖

    plt.hist:直方圖

    • 1. x:數組或者可以循環的序列;

    • 2. bins:數字或者序列(數組/列表等);

    • 3. range:元組或者None,如果為元組,那么指定`x`劃分區間的最大值和最小值;

    • 4. density:默認是`False`,如果等于`True`,那么將會使用頻率分布直方圖;

    • 5. cumulative:如果這個和`density`都等于`True`,那么返回值的第一個參數會不斷的累加,最終等于`1`。

    應用場景:

    • 1. 顯示各組數據數量分布的情況。

    • 2. 用于觀察異常或孤立數據。

    • 3. 抽取的樣本數量過小,將會產生較大誤差,可信度低,也就失去了統計的意義。因此,樣本數不應少于50個。

    3.1、直方圖

    范例:

    durations = [131,  98, 125, 131, 124, 139, 131, 117, 128, 108, 135, 138, 131, 102, 107, 114, 119, 128, 121, 142, 127, 130, 124, 101, 110, 116, 117, 110, 128, 128, 115,  99, 136, 126, 134,  95, 138, 117, 111,78, 132, 124, 113, 150, 110, 117,  86,  95, 144, 105, 126, 130,126, 130, 126, 116, 123, 106, 112, 138, 123,  86, 101,  99, 136,123, 117, 119, 105, 137, 123, 128, 125, 104, 109, 134, 125, 127,105, 120, 107, 129, 116, 108, 132, 103, 136, 118, 102, 120, 114,105, 115, 132, 145, 119, 121, 112, 139, 125, 138, 109, 132, 134,156, 106, 117, 127, 144, 139, 139, 119, 140,  83, 110, 102,123,107, 143, 115, 136, 118, 139, 123, 112, 118, 125, 109, 119, 133,112, 114, 122, 109, 106, 123, 116, 131, 127, 115, 118, 112, 135,115, 146, 137, 116, 103, 144,  83, 123, 111, 110, 111, 100, 154,136, 100, 118, 119, 133, 134, 106, 129, 126, 110, 111, 109, 141,120, 117, 106, 149, 122, 122, 110, 118, 127, 121, 114, 125, 126,114, 140, 103, 130, 141, 117, 106, 114, 121, 114, 133, 137,  92,121, 112, 146,  97, 137, 105,  98, 117, 112,  81,  97, 139, 113,134, 106, 144, 110, 137, 137, 111, 104, 117, 100, 111, 101, 110,105, 129, 137, 112, 120, 113, 133, 112,  83,  94, 146, 133, 101,131, 116, 111,  84, 137, 115, 122, 106, 144, 109, 123, 116, 111,111, 133, 150]
    plt.figure(figsize=(15,5))
    nums,bins,patches = plt.hist(durations,bins=20,edgecolor='k')
    plt.xticks(bins,bins)
    for num,bin in zip(nums,bins):
        plt.annotate(num,xy=(bin,num),xytext=(bin+1.5,num+0.5))
    plt.show()

    運行結果:

    怎么使用Python的Matplotlib庫繪圖

    3.2、頻率直方圖

    density:頻率直方分布圖

    范例:

    nums,bins,patches = plt.hist(durations,bins=20,edgecolor='k',density=True,cumulative=True)
    plt.xticks(bins,bins)
    for num,bin in zip(nums,bins):
        plt.annotate("%.4f"%num,xy=(bin,num),xytext=(bin+0.2,num+0.0005))

    運行結果:

    怎么使用Python的Matplotlib庫繪圖

    3.3、直方圖

    cumulative參數:nums的總和為1

    范例:

    plt.figure(figsize=(15,5))
    nums,bins,patches = plt.hist(durations,bins=20,edgecolor='k',density=True,cumulative=True)
    plt.xticks(bins,bins)
    for num,bin in zip(nums,bins):
        plt.annotate("%.4f"%num,xy=(bin,num),xytext=(bin+0.2,num+0.0005))

    運行結果:

    怎么使用Python的Matplotlib庫繪圖

    4、散點圖

    plt.scatter:散點圖繪制:

    • 1. x,y:分別是x軸和y軸的數據集。兩者的數據長度必須一致。

    • 2. s:點的尺寸。

    • 3. c:點的顏色。

    • 4. marker:標記點,默認是圓點,也可以換成其他的。

    范例:

    plt.scatter(x =data_month_sum["sumprice"]     #傳入X變量數據
                ,y=data_month_sum["Quantity"]     #傳入Y變量數據
                ,marker='*'     #點的形狀
                ,s=10           #點的大小
                ,c='r'          #點的顏色
               )
    plt.show()

    運行結果:

    怎么使用Python的Matplotlib庫繪圖

    5、餅圖

    餅圖:一個劃分為幾個扇形的圓形統計圖表,用于描述量、頻率或百分比之間的相對關系的。

    matplotlib中,可以通過plt.pie來實現,其中的參數如下:

    x:餅圖的比例序列。labels:餅圖上每個分塊的名稱文字。explode:設置某幾個分塊是否要分離餅圖。autopct:設置比例文字的展示方式。比如保留幾個小數等。shadow:是否顯示陰影。textprops:文本的屬性(顏色,大小等)。 范例

    plt.figure(figsize=(8,8),dpi=100,facecolor='white')
    plt.pie(x = StockCode.values,                  #數據傳入
            radius=1.5,                            #半徑
            autopct='%.2f%%'                       #百分比顯示
            ,pctdistance=0.6,                      #百分比距離圓心比例
            labels=StockCode.index,                #標簽
            labeldistance=1.1,                     #標簽距離圓心比例
            wedgeprops ={'linewidth':1.5,'edgecolor':'green'}, #邊框的線寬和顏色
            textprops={'fontsize':10,'color':'blue'})  #文本字體大小和顏色
    plt.title('商品銷量占比',pad=100)              #設置標題及距離坐標軸的位置
    plt.show()

    運行結果:

    怎么使用Python的Matplotlib庫繪圖

    6、箱線圖

    箱圖的繪制方法是:

    •     :1、先找出一組數據的上限值、下限值、中位數(Q2)和下四分位數(Q1)以及上四分位數(Q3)

    •     :2、然后連接兩個四分位數畫出箱子

    •     :3、再將最大值和最小值與箱子相連接,中位數在箱子中間。  

    中位數:把數據按照從小到大的順序排序,然后最中間的那個值為中位數,如果數據的個數為偶數,那么就是最中間的兩個數的平均數為中位數。  
    上下四分位數:同樣把數據排好序后,把數據等分為4份。出現在`25%`位置的叫做下四分位數,出現在`75%`位置上的數叫做上四分位數。但是四分位數位置的確定方法不是固定的,有幾種算法,每種方法得到的結果會有一定差異,但差異不會很大。

    上下限的計算規則是:  

    • IQR=Q3-Q1  

    • 上限=Q3+1.5IQR  

    • 下限=Q1-1.5IQR

    matplotlib中有plt.boxplot來繪制箱線圖,這個方法的相關參數如下:

    x:需要繪制的箱線圖的數據。notch:是否展示置信區間,默認是False。如果設置為True,那么就會在盒子上展示一個缺口。sym:代表異常點的符號表示,默認是小圓點。vert:是否是垂直的,默認是True,如果設置為False那么將水平方向展示。whis:上下限的系數,默認是1.5,也就是上限是Q3+1.5IQR,可以改成其他的。也可以為一個序列,如果是序列,那么序列中的兩個值分別代表的就是下限和上限的值,而不是再需要通過IQR來計算。positions:設置每個盒子的位置。widths:設置每個盒子的寬度。labels:每個盒子的labelmeanlineshowmeans:如果這兩個都為True,那么將會繪制平均值的的線條。

    范例:

    #箱線圖 - 主要觀察數據是否有異常(離群點)
    #箱須-75%和25%的分位數+/-1.5倍分位差
    plt.figure(figsize=(6.4,4.8),dpi=100)
    
    #是否填充箱體顏色,是否展示均值,是否展示異常值,箱體設置,異常值設置,均值設置,中位數設置
    plt.boxplot(x=UnitPrice                               #傳入數據
                ,patch_artist=True                                #是否填充箱體顏色
                ,showmeans=True                                   #是否展示均值
                ,showfliers=True                                  #是否展示異常值
                ,boxprops={'color':'black','facecolor':'white'}    #箱體設置
                ,flierprops={'marker':'o','markersize':4,'markerfacecolor':'red'} #異常值設置
                ,meanprops={'marker':'o','markersize':6,'markerfacecolor':'indianred'} #均值設置
                ,medianprops={'linestyle':'--','color':'blue'}   #中位數設置
               )
    plt.show()

    運行結果:

    怎么使用Python的Matplotlib庫繪圖

    7、雷達圖

    雷達圖:又被叫做蜘蛛網圖,適用于顯示三個或更多的維度的變量的強弱情況

    plt.polar來繪制雷達圖,x軸的坐標點應該為弧度(2*PI=360°)

    范例:

    import numpy as np
    properties = ['輸出','KDA','發育','團戰','生存']
    values = [40,91,44,90,95,40]
    theta = np.linspace(0,np.pi*2,6)
    plt.polar(theta,values)
    plt.xticks(theta,properties)
    plt.fill(theta,values)

    運行結果:

    怎么使用Python的Matplotlib庫繪圖

    注意事項:

    • 因為polar并不會完成線條的閉合繪制,所以我們在繪制的時候需要在theta中和values中在最后多重復添加第0個位置的值,然后在繪制的時候就可以和第1個點進行閉合了。

    • polar只是繪制線條,所以如果想要把里面進行顏色填充,那么需要調用fill函數來實現。

    • polar默認的圓圈的坐標是角度,如果我們想要改成文字顯示,那么可以通過xticks來設置。

    以上就是關于“怎么使用Python的Matplotlib庫繪圖”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

    向AI問一下細節

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

    AI

    开江县| 江川县| 乌拉特前旗| 广汉市| 和政县| 日喀则市| 西吉县| 博湖县| 思茅市| 公主岭市| 大兴区| 金川县| 南郑县| 南漳县| 陕西省| 乌拉特前旗| 武陟县| 巴楚县| 正蓝旗| 乐清市| 德昌县| 定边县| 罗江县| 广水市| 都昌县| 大丰市| 新民市| 东城区| 贺兰县| 惠州市| 泰顺县| 赤城县| 桂平市| 鄱阳县| 科技| 新宁县| 杭锦旗| 岗巴县| 都昌县| 富宁县| 高雄县|