matplotlib figure定義一張大的畫布 axex/subplot是子圖

#!/ usr / bin / env python
 # -  *  -  coding:utf-8  -  *  -
 import numpy as np
 import matplotlib.pyplot as plt
 from mpl_toolkits.mplot3d import axes3d


def main():
    #scatter##
     plt.figure( 1#設置圖形#
     plt.subplot( 331#一個3行3列的數字
#n= 128
 X = np.random.normal( 0 1,n)
        
    Y = np.random.normal(01,n)的
    T = np.arctan2(Y,X)
    #plt.axes([0.025,0.025,0.95,0.95])#
     plt.scatter(X,Y, s = 75 c = T, alpha = 5
    plt.xlim( - 1.51.5),plt.xticks([])  關於x的#的範圍內
     plt.ylim( - 1.51.5),plt.yticks([])
    plt.axis()
    plt.title(“scatter”
    plt.xlabel(“X”
    plt.ylabel(“Y”

    #欄
     plt.subplot( 3 3 2
    n = 10
     X = np.arange(n)
    Y1 =(1 - X / 浮動(N))* np.random.uniform(0.51.0,N)
    Y2 =(1 - X / 浮動(N))* np.random.uniform(0.51.0,N)
    plt.bar(X,+ Y1,facecolor = '#9999ff'edgecolor = 'white'
    plt.bar(X,-Y 2,facecolor = '#FF9999' edgecolor = '白色' X,Y 拉鍊(X,Y1):
        plt.text(X + 0.4,Y + 0.05'%.2f'%Y,公頃 = '中心'VA = '底部' X,Y 拉鍊(X,Y2):
        plt.text(x + 0.4,-y  - 0.05'%.2f'%y,ha = 'center'va = 'top'

    plt.subplot(333#pie#
     n = 20
     Z = np.ones(n)
    Z [ - 1 ] * = 2
     plt.pie(Z,爆炸 = Z * 0.05顏色 = [ '%F' %(I / 浮動(n))的用於範圍(N)],
             標記 = [ “% .2f'%(i / float(n))for i in range(n)])   #label定義每部分值的列表#
     plt.gca()。set_aspect('equal'#將橫,縱座標軸標準化處理,保證餅圖是一個正圓,否則爲橢圓設置x,y軸刻度一致,這樣餅圖才能是圓#
     plt.xticks([]),plt.yticks([])
     #刪除x軸和y軸的刻度#
 plt.subplot(334
    
    plt.figure(figsize =(69))
    定義餅狀圖的標籤,標籤是列表
    標籤= [ U '第一部分'U '第二部分'U '第三部分' ]
     #每個標籤佔多大,會自動去算百分比
    尺寸= [ 603010 ]
    顏色= [ '紅''黃綠''lightskyblue' ]
     #將某部分爆炸出來,使用括號,將第一塊分割出來,數值的大小是分割出來的與其他兩塊的間隔
    爆炸=(0.0500
    補丁,l_text,p_text = plt.pie(尺寸,爆炸 =爆炸,標籤 =標籤,顏色 =顏色,
                                       labeldistance = 1.1autopct = '%3.1f %%'shadow = Falsestartangle = 90pctdistance = 0.6#labeldistance,文本的位置離遠點有多遠,1.1指1.1倍半徑的位置
     #autopct,圓裏面的文本格式,%3.1f %%表示小數有三位,整數有一位的浮點數#shadow
     ,餅是否有陰影
     #startangle,起始角度,0,表示從0開始逆時針轉,爲第一塊。一般選擇從90度開始比較好看
    #pctdistance,百分比的文本離圓心的距離
     #補丁,l_texts,p_texts,爲了得到餅圖的返回值,p_texts餅圖內部文本的,l_texts餅圖外標籤的文本
     #改變文本的大小
     #方法是把每一個文字遍歷調用set_size方法設置它的屬性。
 對於牛逼 l_text:    
        t.set_size =(30for t in p_text:
        t.set_size =(20#設置x,y軸刻度一致,這樣餅圖才能是圓的
     plt.axis('equal'
    plt.legend()

    #極性
     plt.subplot( 335極性 =
    N = 20
     THETA = np.arange(02 * np.pi,2 * np.pi / n)的   #起始值,終止值,步長#
    半徑= 10 * np.random.rand(n)的
     #randn (d0,d1,...,dn)是從標準正態分佈中返回一個或多個樣本值,rand隨機樣本在[0,1]中rand(3,3)三行三列#
     plt.polar(theta ,半徑)

    #熱圖#
     plt.subplot( 336
    數據= np.random.rand(33地圖 = plt.imshow(數據)

    ##那個vmin和vmax是數據矩陣中的最大和最小值,範圍要與數據的範圍相協調。
     ##那個方面參數,確定圖形在整個圖中的位置和大小有。上面的add_subplot中的位置參數的數值要想有作用,這裏的這個參數一定要選auto#
 plt.subplot( 337
    
    數據= np.random.rand(33
    plt.imshow(data,interpolation = 'nearest'cmap = plt.get_cmap('cool'),aspect = 'auto'vmin = 0vmax = 1#imshow()函數實現熱圖繪製
     ##X存儲圖像,可以是浮點型數組,unit8數組以及PIL圖像,如果其爲數組,則需滿足一下形狀:
     ##(1)M * N此時數組必須爲浮點型,其中值爲該座標的灰度;
     #(2)M * N * 3 RGB(浮點型或者單位8類型)##
     (3)M * N * 4 RGBA(浮點型或者單位8類型)
     ##想要某塊顯示成一種顏色,則需要調用interpolation ='nearest'參數
     #參數cmap用於設置熱圖的Colormap。(參考百度百科)Colormap是MATLAB裏面用來設定和獲取當前色圖的函數#
    #默認情況下,imshow將數據標準化爲最小和最大值。可使用vmin和vmax參數或norm參數來控制(如果您想要非線性縮放)#
     plt.show()


如果 __name__ == __main__
    主要()

很多時候不在一張畫布上是因爲你多打了plt.show()

發佈了39 篇原創文章 · 獲贊 7 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章