#!/ 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(0,1,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.5,1.5),plt.xticks([]) #關於x的#的範圍內 plt.ylim( - 1.5,1.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.5,1.0,N) Y2 =(1 - X / 浮動(N))* np.random.uniform(0.5,1.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 =(6,9)) #定義餅狀圖的標籤,標籤是列表 標籤= [ U '第一部分',U '第二部分',U '第三部分' ] #每個標籤佔多大,會自動去算百分比 尺寸= [ 60,30,10 ] 顏色= [ '紅','黃綠','lightskyblue' ] #將某部分爆炸出來,使用括號,將第一塊分割出來,數值的大小是分割出來的與其他兩塊的間隔 爆炸=(0.05,0,0) 補丁,l_text,p_text = plt.pie(尺寸,爆炸 =爆炸,標籤 =標籤,顏色 =顏色, labeldistance = 1.1,autopct = '%3.1f %%',shadow = False, startangle = 90,pctdistance = 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 =(30) for t in p_text: t.set_size =(20) #設置x,y軸刻度一致,這樣餅圖才能是圓的 plt.axis('equal') plt.legend() #極性 plt.subplot( 335,極性 =真) N = 20 THETA = np.arange(0,2 * 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(3,3) 地圖 = plt.imshow(數據) ##那個vmin和vmax是數據矩陣中的最大和最小值,範圍要與數據的範圍相協調。 ##那個方面參數,確定圖形在整個圖中的位置和大小有。上面的add_subplot中的位置參數的數值要想有作用,這裏的這個參數一定要選auto# plt.subplot( 337) 數據= np.random.rand(3,3) plt.imshow(data,interpolation = 'nearest',cmap = plt.get_cmap('cool'),aspect = 'auto',vmin = 0,vmax = 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()