日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python擴(kuò)充庫之matplotlib(一)

系統(tǒng) 2035 0

代碼py3測(cè)試都可運(yùn)行,此處不貼圖,可自行運(yùn)行查看結(jié)果

1、簡(jiǎn)介:

Matplotlib 是一個(gè)Python 的 2D繪圖庫。 它可與 NumPy 一起使用,提供了一種有效的 MatLab 開源替代方案。 它也可以和圖形工具包一起使用,如 PyQt 和 wxPython

2、安裝:

windows(題主win10):進(jìn)入到cmd模式后輸入?

            
              python -m pip install matplotlib
            
          

滾動(dòng)結(jié)束后 在python IDLE中輸入import matplotlib 若無報(bào)錯(cuò),則安裝成功。

3、常見屬性以及函數(shù)介紹(matplotlib經(jīng)常搭配numpy使用,想了解numpy請(qǐng)參考python擴(kuò)充庫之numpy)

3.1 figure()

            
              # Matlab中的 figure 命令,能夠創(chuàng)建一個(gè)用來顯示圖形輸出的一個(gè)窗口對(duì)象。
# 每一個(gè)這樣的窗口都有一些屬性,例如窗口的尺寸、位置,等等。
            
          

使用方法:

            
              import matplotlib.pyplot as plt 
import numpy as np 

x = np.linspace(-3,3,50)
y1 = 2*x +1 
y2 = x**2


#plot為一個(gè)畫圖函數(shù)
plt.figure()   #定義一個(gè)figure
plt.plot(x,y1)

plt.figure(num = 3,figsize=(8,5)) #num 指定figuer序號(hào) ;figsize()圖形尺寸
#在一個(gè)figure中顯式多條線
plt.plot(x,y2)
plt.plot(x,y1,color='red',linestyle='--') #color = 顏色 ,linewidth = 線寬,linestyle = 線形式

plt.show()
            
          

3.2 xlim/ylim xlabel/ylabel等坐標(biāo)軸常見屬性

            
              import matplotlib.pyplot as plt 
import numpy as np 

x = np.linspace(-3,3,50)
y1 = x**2
y2 = x + 1

plt.figure(figsize=(8,5))
plt.plot(x,y1)
plt.plot(x,y2,color='blue',linewidth=1.2,linestyle='dotted')

#xlim ylim x 與 y坐標(biāo)軸的限度

plt.xlim((-1,2))
plt.ylim((-2,3))

#xlabel ylabel x與y坐標(biāo)軸的標(biāo)簽
plt.xlabel("x ")
# ,fontproperties=FontProperties(fname='/system/library/fonts/pingfang.tcc')
plt.ylabel('y ')

#xticks yticks設(shè)置坐標(biāo)軸上數(shù)據(jù)間隔以及標(biāo)記
new_ticks = np.linspace(-1,2,5)
print(new_ticks)
plt.xticks(new_ticks)
plt.yticks([-2,-1.8,-1,3],
	[r'$really\ bad$',r'$bad\alpha$',r'$good$',r'really good'])

#$改變字體$    \alpha 特殊字符


#圖邊框處理
#gca = get current axis

#獲得圖邊框
ax = plt.gca()
#設(shè)置圖邊框顏色
ax.spines['right'].set_color('None')
ax.spines['top'].set_color('none')
#設(shè)定默認(rèn)x 與y軸
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
#設(shè)置x軸與y軸相交點(diǎn)
ax.spines['bottom'].set_position(('data',0))
ax.spines['left'].set_position(('data',0))


plt.show()
            
          

對(duì)于無法顯示中文問題 請(qǐng)?參考

3.3 tick (能見度)操作

            
              #tick 能見度
import matplotlib.pyplot as plt 
import numpy as np 


x = np.linspace(-3,3,50)
y = 2*x + 1

plt.figure()
plt.plot(x,y,lw=10,zorder=1)
plt.ylim(-2,2)

ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')

ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))

#ticks修改參數(shù)

for label in ax.get_xticklabels() + ax.get_yticklabels():
	label.set_zorder(2)
	label.set_fontsize(12)  #修改字體大小
	label.set_bbox(dict(facecolor='white',edgecolor='None',alpha=0.7))#alpha表征透明度

plt.show()
            
          

3.4 plot 函數(shù)位于 matplotlib.pyplot 這個(gè)模塊中,是繪制圖形的主要函數(shù)。plot 函數(shù)可以接收多組 X 軸、Y 軸數(shù)據(jù)進(jìn)行繪圖,也可以控制曲線的格式

3.5scatter 散點(diǎn)圖

            
              #matplotlib_plot.py

import matplotlib.pyplot as plt 
import numpy as np 

n = 500 

x = np.random.normal(0,1,n) #生成中位數(shù)是0, 方差是1 ,n個(gè)隨機(jī)數(shù)
y = np.random.normal(0,1,n)

#顏色值
T = np.arctan2(y,x)

plt.figure(figsize=(7,5))
plt.scatter(x,y,s=30,c=T,alpha=0.5)

plt.scatter(np.arange(5),np.arange(5)) #一條線
plt.xlim=(-1.5,1.5)
plt.ylim=(-1.5,1.5)

plt.xticks(())
plt.yticks(())

plt.show()

            
          

3.6legend 圖例

            
              #圖例
import matplotlib.pyplot as plt 
import numpy as np 

#添加對(duì)曲線的描述

x = np.linspace(-3,3,50)
y1 = 2*x +1
y2 = x**2


plt.figure(figsize=(8,5))

plt.xlim((-1,2))
plt.ylim((-2,3))
plt.xlabel('x')
plt.ylabel('y')

new_ticks = np.linspace(-1,2,5)

plt.xticks(new_ticks)
plt.yticks([-2,-1.8,-1,3],
	[r'$really\ bad$',r'$bad\alpha$',r'$good$',r'really good'])

# 此處注意若使用
# l1 = plt.plot(x,y1,color='red',linestyle='--',label='down')  
# print(type(l1))   則會(huì)輸出list
# l2 = plt.plot(x,y2,label='up')
# 則會(huì)出錯(cuò)


#label添加曲線標(biāo)簽(名字)
l1, = plt.plot(x,y1,color='red',linestyle='--',label='down')  
print(type(l1))   #
              
                
l2, = plt.plot(x,y2,label='up')
#loc 默認(rèn)為best 選取一個(gè)空閑區(qū)顯式   handles: 放入legend的對(duì)象
plt.legend(handles=[l1,l2,],labels=['aaa','bbb'],loc='best') 



plt.show()
              
            
          

3.7 annotion 標(biāo)注

            
              #annotaion 標(biāo)注
import matplotlib.pyplot as plt 
import numpy as np 

x = np.linspace(-3,3,50)
y = 2*x +1 

plt.figure(num =1,figsize=(8,5))
plt.plot(x,y)

ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')

ax.xaxis.set_ticks_position('bottom')  #指定x軸
ax.spines['bottom'].set_position(('data',0)) #指定x軸與y軸某點(diǎn)相交點(diǎn)
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))

x0 = 1
y0 = 2*x0+1
plt.scatter(x0,y0,s =50,color='r') #scatter散點(diǎn)圖 s:點(diǎn)的大小 color:點(diǎn)的顏色
plt.plot([x0,x0],[y0,0],'k--',lw=2.5)

####F1
plt.annotate(r'$2x+1=%s$'%y0,xy=(x0,y0),xycoords='data',xytext=(+30,-30),textcoords='offset points',
			fontsize=16,arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))
####F2
plt.text(-3.7,3,r'$Some\ text\ .\ \mu\ \sigma_i\ \alpha_t$',
	fontdict={'size':16,'color':'r'})

plt.show()
            
          

先到這,未完待續(xù)想了解更多不同類型圖像如柱狀圖,等高圖請(qǐng)見python擴(kuò)充庫之matplotlib(二)

numpy.meshgrid()理解


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!??!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 依安县| 托克托县| 二连浩特市| 正安县| 右玉县| 鹤山市| 汉中市| 华宁县| 班玛县| 永丰县| 乌拉特后旗| 山丹县| 内丘县| 手游| 日照市| 巴中市| 那坡县| 漳平市| 洪江市| 瑞安市| 巴青县| 大洼县| 阿坝县| 大宁县| 潞西市| 广平县| 平和县| 夏津县| 海南省| 锦屏县| 英吉沙县| 正安县| 昆明市| 桃源县| 达州市| 屯昌县| 龙南县| 始兴县| 涪陵区| 临潭县| 宣威市|