欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python擴充庫之matplotlib(一)

系統(tǒng) 1761 0

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

1、簡介:

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

2、安裝:

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

            
              python -m pip install matplotlib
            
          

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

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

3.1 figure()

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

使用方法:

            
              import matplotlib.pyplot as plt 
import numpy as np 

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


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

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

plt.show()
            
          

3.2 xlim/ylim xlabel/ylabel等坐標軸常見屬性

            
              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坐標軸的限度

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

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

#xticks yticks設置坐標軸上數(shù)據(jù)間隔以及標記
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()
#設置圖邊框顏色
ax.spines['right'].set_color('None')
ax.spines['top'].set_color('none')
#設定默認x 與y軸
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
#設置x軸與y軸相交點
ax.spines['bottom'].set_position(('data',0))
ax.spines['left'].set_position(('data',0))


plt.show()
            
          

對于無法顯示中文問題 請?參考

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 這個模塊中,是繪制圖形的主要函數(shù)。plot 函數(shù)可以接收多組 X 軸、Y 軸數(shù)據(jù)進行繪圖,也可以控制曲線的格式

3.5scatter 散點圖

            
              #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個隨機數(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 

#添加對曲線的描述

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))   則會輸出list
# l2 = plt.plot(x,y2,label='up')
# 則會出錯


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



plt.show()
              
            
          

3.7 annotion 標注

            
              #annotaion 標注
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軸某點相交點
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散點圖 s:點的大小 color:點的顏色
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ù)想了解更多不同類型圖像如柱狀圖,等高圖請見python擴充庫之matplotlib(二)

numpy.meshgrid()理解


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美日韩国产在线人成dvd | 亚洲午夜网未来影院 | 日本三级2020 | 亚洲精品视频在线 | 69久久夜色精品国产69 | 涩涩伊人| 国产成人在线视频 | 2022国内精品免费福利视频 | 色小说香蕉 | 日本免费一级视频 | 精品专区| 久久久精品午夜免费不卡 | 黄色免费av | 欧美国产伦久久久久 | 久草青青草 | 超碰97在线人人 | www.奇米第四色 | 天堂一区二区三区 | 成人毛片免费网站 | 欧美视频成人 | 亚洲视频在线观看免费 | 亚洲精品国产成人 | 久操成人 | 欧美成a人片在线观看久 | 91欧美激情一区二区三区成人 | 国产综合视频在线 | 成人久久免费视频 | 日本中文字幕网站 | 欧美激情一区二区三级高清视频 | 久青草免费在线视频 | 性强烈欧美一级毛片 | 国产精品免费网站 | 婷婷尹人香蕉久久天堂 | 草久网| 日日舔夜夜操 | 国产欧美日韩精品一区 | 日韩三| 国产精品视频网站 | 小泽玛丽娅 | 国产在线观看av | 欧美另类专区 |