<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
plt是最常用的介面
1.匯入模組
import matplotlib as mpl import matplotlib.pyplot as plt
2.建立畫板,然後對畫板進行調整
3.定義資料
4.繪製圖形(包含座標軸的設定,資料的匯入,線條的樣式,顏色,還有標題,圖例,等等)
5.plt.show()
1.1.1**(一)第一步:建立並定義一個"畫板"**(你將要在你定義的畫板上面進行畫圖操作).
fig=plt.figure()#定義一張畫板命名為fig
在plt.figure()括號裡面還有一些引數
例如:
huaban=plt.figure(figsize=(6,10),facecolor='b',dpi=500) #figsize是調整你的影象的比例大小,上面所示就是:長/寬=6/10 #facecolor是設定畫板的背景顏色,一般顏色程式碼為英文的首字母 #dpi設定影象的解析度,解析度越影象越清晰 #edgcolor是設定邊框顏色的引數
1.1.2**(二).第二步:定義你的x,y資料**
這裡我們使用numpy庫函數來製造一些資料
所以我們還得匯入numpy函數
import numpy as np #設定xy的值 x=np.linspace(-5,5,11)#這裡就是把-5到5平均分成十一份,(-5,-4,-3,.....) y=[1,6,3,-3,6,8,3,6,9,1,-5]
1.1.3**(三).第三步:設定x,y軸的大小,刻度,…**
#新增p1到畫板 p1=fig.add_subplot(111)#這裡的111是指把畫板分成一行一列,把p1新增到第一副圖 #限制函數座標軸的長度 p1.axis([-5,5,-10,10])#x軸長度為-5到5,y軸長度為-10到10 #設定x,y軸的刻度 plt.xticks(x) plt.yticks(y) #這裡是指:x,y軸的刻度為之前定義的x,y資料列表 #設定座標軸的上下限 plt.xlim(-5,5) plt.ylim(-10,10)
1.1.4(四).繪製影象,匯入x,y資料,設定線條樣式,顏色,粗細,新增圖例,標題…
#繪製影象 p1.plot(x,y,marker='o',ms=5,lw=2,ls='--',label='band') #x,y就是最開始定義的資料 #marker是設定拐點樣式:o/h/^/./+等等 #ms是設定拐點的標記大小 #lw就是設定線條粗細,數值越大線條越粗 #ls是設定線條樣式,這裡'--'為虛線 #label是設定此線條的名稱標題 p1.legend(loc='best')#新增圖例,其中best是指將圖例的位置新增到最佳位置, #你也可以自己設定位置,例如:upper left(左上角) #新增標題 plt.title('NUM',fontsize=24)#設定影象的標題,fontsize是設定標題文字的大小 plt.xlabel('Value',fontsize=14)#設定x軸的標題 plt.ylabel('ARG',fontsize=14)#設定y軸的標題
現在基本上就設定好了,因為我是在指令碼中畫圖,所以我需要在程式碼的最後新增一個:plt.show(),它會自動啟用一個事件迴圈,並找到所有當前可用的圖形物件,然後開啟一個互動式視窗來顯示圖形.
1.1.5上述的完整的程式碼(有一些細節的新增):
import matplotlib.pyplot as plt import numpy as np #設定xy的值 x=np.linspace(-5,5,11) y=[1,6,3,-3,6,8,3,6,9,1,-5] #建立一張畫板 huaban=plt.figure(figsize=(6,10)) #新增p1到畫板 p1=huaban.add_subplot(111) #限制函數座標軸的長度 p1.axis([-5,5,-10,10]) #設定x,y軸的刻度 plt.xticks(x) plt.yticks(y) #去除右邊邊框 p1.spines['right'].set_color('none') #去除頂部邊框 p1.spines['top'].set_color('none') #下面兩行程式碼是將xy軸的交點改為(0,0) p1.spines['bottom'].set_position(('data',0)) p1.spines['left'].set_position(('data',0)) #繪製影象 p1.plot(x,y,marker='^',ms=5,lw=2,ls='--',label='band') p1.legend(loc='upper left') #新增標題 plt.title('NUM',fontsize=24) plt.xlabel('Value',fontsize=14) plt.ylabel('ARG',fontsize=14) #新增輔助虛線 for i in range(len(x)): x1=[x[i],x[i]] y1=[0,y[i]] plt.plot(x1,y1,'r-.') for i in range(len(x)): x2=[0,x[i]] y2=[y[i],y[i]] p1.plot(x2,y2,'r-.') #新增每個折點的座標 for i in range(len(x)): p1.text(x[i],y[i],(x[i],y[i]),c='green') plt.grid(c='b',ls='--')#這個函數是生成網格的函數 plt.show()
輸出結果:
散點圖其實大部分語法和上述差不多,只需要將折線圖中的plt.polt()改為plt.scatter()
這裡我們只需要畫一幅圖來做個例子,就省去建立畫板的步驟,建立畫板的步驟在後面才會有用.
import numpy as np import matplotlib.pyplot as plt #隨機生成一些資料 N=20 x=np.random.rand(N) y=np.random.rand(N) x1=np.random.rand(N) y1=np.random.rand(N) plt.scatter(x,y,s=100,c='red',marker='^',label='red')#c是color的簡稱,設定顏色 plt.legend(loc='best') plt.scatter(x1,y1,s=50,c='blue',marker='o',label='blue') plt.legend(loc='upper left')#在左上角新增圖例 plt.xlabel('x')#給橫座標新增標籤 plt.ylabel('y')#給縱座標新增標籤 plt.title('picture')#給影象新增標籤 plt.show()#顯示影象
輸出結果:
使用plt.bar()進行繪製
import numpy as np import matplotlib.pyplot as plt x=[1,2,3,4,5] y=np.random.rand(5) plt.figure(figsize=(8,4)) plt.bar(x,y) x_t=list(range(len(x))) plt.xticks(x,x_t) plt.show()
輸出結果:
畫子圖就需要建立畫板,然後對畫板進行分割,然後在分出來的位置進行繪製不同的影象.
重點是這裡:
p1 = huaban.add_subplot(221)p2=huaban.add_subplot(222)p3=huaban.add_subplot(223)p4=huaban.add_subplot(224)#這些數位的意思就是,把畫板分成兩行兩列,四個位置,然後p1在位置1,p2在位置2,p3在位置3.......
import numpy as np import matplotlib.pyplot as plt x=range(-10,10,1) y=np.random.rand(20) huaban=plt.figure(facecolor='pink',figsize=(8,8),dpi=100) p1 = huaban.add_subplot(221) p1.plot(x,y,label="sinx",marker='o') plt.legend(loc='best') plt.grid(c='r',linestyle=':') p2=huaban.add_subplot(222) x1=np.linspace(-np.pi*2,np.pi*2,1000) y1=np.sin(x1) p2.plot(x1,y1,label="sinx",color='blue') plt.legend(loc='best') plt.grid(c='b',linestyle='--') p3=huaban.add_subplot(223) x2=np.random.rand(10) y2=np.random.rand(10) x3=np.random.rand(10) y3=np.random.rand(10) p3.scatter(x2,y2,c='red',marker='o',label="散點圖") p3.scatter(x3,y3,c='red',marker='^',label="散1") p4=huaban.add_subplot(2,2,4) p4.plot(x1,np.cos(x1),label="cosx") plt.legend('best') plt.grid(c='c',linestyle=':') plt.show()
輸出結果:
import matplotlib.pyplot as plt x=[35,25,25,15] colors=["#14615E", "#F46C40", "#3E95C0", "#A17D3B"] name=['A','B','C','D'] label=['35.00%','25.00%','25.00%','15.00%'] huaban=plt.figure() p1=huaban.add_subplot(111) p1.pie(x,labels=name,colors=colors,autopct='%1.2f%%',explode = (0, 0.2, 0, 0)) plt.axis('equal') plt.show()
輸出結果:
import matplotlib.pyplot as plt import numpy as np plt.figure(figsize=(4,4)) # Fixing random state for reproducibility #np.random.seed(19680801) #建立子圖1 plt.subplot(211) plt.imshow(np.random.random((10, 10)), cmap="hot") #建立子圖2 plt.subplot(212) plt.imshow(np.random.random((5, 5)), cmap="winter") plt.subplots_adjust(bottom=0.09, right=0.5, top=0.9) cax = plt.axes([0.75, 0.1, 0.065, 0.8]) plt.colorbar(cax=cax) plt.show()
輸出結果:
到此這篇關於Python Matplotlib繪圖基礎的文章就介紹到這了,更多相關Python Matplotlib繪圖基礎內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45