日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python绘图工具基础-matplotlib学习之基本使用

發(fā)布時間:2025/3/8 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python绘图工具基础-matplotlib学习之基本使用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

matplotlib學習之基本使用

1.figure學習2.設置坐標軸3.Legend 圖例4.Annotation 標注5.tick能見度

1.figure學習

導包

import??matplotlib.pyplot?as?plt import?numpy?as?np

產生-3到3之間50個點

x=np.linspace(-3,3,50)

定義函數(shù)

y1=2*x+1 y2=x**2

繪制直線

plt.figure() plt.plot(x,y1)

曲線與直線繪制一塊

#?num=3表示圖片上方標題?變?yōu)閒igure3,figsize=(長,寬)設置figure大小 plt.figure(num=3,figsize=(8,5)) plt.plot(x,y2) #?紅色虛線直線寬度默認1.0 plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--') plt.show()

2.設置坐標軸

設置x軸范圍

plt.xlim((-1,2))

設置軸y范圍

plt.ylim((-2,3))

設置坐標軸含義

#?注:英文直接寫,中文需要后面加上fontproperties屬性 plt.xlabel(u'價格',fontproperties='SimHei') plt.ylabel(u'利潤',fontproperties='SimHei')

設置x軸刻度

#?-1到2區(qū)間,5個點,4個區(qū)間,平均分:[-1.,-0.25,0.5,1.25,2.] new_ticks=np.linspace(-1,2,5) print(new_ticks) plt.xticks(new_ticks)

設置y軸刻度

''' 設置對應坐標用漢字或英文表示,后面的屬性fontproperties表示中文可見,不亂碼, 內部英文$$表示將英文括起來,r表示正則匹配,通過這個方式將其變?yōu)楹每吹淖煮w 如果要顯示特殊字符,比如阿爾法,則用轉意符\alpha,前面的\?表示空格轉意 ''' plt.yticks([-2,-1.8,-1,1.22,3.],['非常糟糕','糟糕',r'$good\?\alpha$',r'$really\?good$','超級好'],fontproperties='SimHei')

設置邊框/坐標軸

gca='get?current?axis/獲取當前軸線' ax=plt.gca() #?spines就是脊梁,即四個邊框 #?取消右邊與上邊軸 ax.spines['right'].set_color('none') ax.spines['top'].set_color('none')

matlibplot并沒有設置默認的x軸與y軸方向,下面就開始設置默認軸

ax.xaxis.set_ticks_position('bottom') ax.yaxis.set_ticks_position('left')

設置坐標原點

#?實現(xiàn)將(0,-1)設為坐標原點 #?設置y軸上-1為坐標原點的y點,把x軸放置再-1處 ax.spines['bottom'].set_position(('data',-1))?#?也可以是('axes',0.1)后面是百分比,相當于定位到10%處 #?設置x軸上0為坐標原點的x點,將y軸移置0處 ax.spines['left'].set_position(('data',0))

再寫一遍以下代碼,因為以上使用set_position后,中文會顯示不出來

plt.yticks([-2,-1.8,-1,1.22,3.],['非常糟糕','糟糕',r'$good\?\alpha$',r'$really\?good$','超級好'],fontproperties='SimHei')

顯示圖片

plt.show()

3.Legend 圖例

解釋見1

import??matplotlib.pyplot?as?plt import?numpy?as?np x=np.linspace(-3,3,50) y1=2*x+1 y2=x**2 #?繪制直線 plt.figure() plt.plot(x,y1) #?曲線與直線繪制一塊 #?num=3表示圖片上方標題?變?yōu)閒igure3,figsize=(長,寬)設置figure大小 plt.figure(num=3,figsize=(8,5))#?設置x軸范圍 plt.xlim((-1,2)) #?設置軸y范圍 plt.ylim((-2,3)) #?設置坐標軸含義 #?注:英文直接寫,中文需要后面加上fontproperties屬性 plt.xlabel(u'價格',fontproperties='SimHei') plt.ylabel(u'利潤',fontproperties='SimHei')#?-1到2區(qū)間,5個點,4個區(qū)間,平均分:[-1.,-0.25,0.5,1.25,2.] new_ticks=np.linspace(-1,2,5) print(new_ticks) plt.xticks(new_ticks)plt.yticks([-2,-1.8,-1,1.22,3.],['非常糟糕','糟糕',r'$good\?\alpha$',r'$really\?good$','超級好'],fontproperties='SimHei')

設置legend圖例

l1,=plt.plot(x,y2)?#?可添加label屬性,只不過如果這里添加了,下面legend再添加,下面的就會覆蓋此處的! #?紅色虛線直線寬度默認1.0 l2,=plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--') ''' prop={'family':'SimHei','size':15}顯示中文 legend(hadles=[,,],labels=[,,],loc='best/upper?right/upper?left/.../lower?right') handles就是你給他添加legend的線,如果要用handles,則前面的plt.plot,必須用l1,形式(不要忘記逗號) 此處labels會覆蓋上述的plt.plot()的label loc默認是best,給你放在一個合適的位置上,如果你拉伸彈框,位置會跟著變,自動放置合適位置 ''' plt.legend(handles=[l1,l2],prop={'family':'SimHei','size':15},loc='lower?right',labels=['直線','曲線'])

繪制

plt.show()

4.Annotation 標注

見上述詳解

import??matplotlib.pyplot?as?plt import?numpy?as?np x=np.linspace(-3,3,20) y=2*x+1 #?繪制直線 plt.figure(num=1,figsize=(8,5),) plt.plot(x,y) #?gca='get?current?axis/獲取當前軸線' ax=plt.gca() #?spines就是脊梁,即四個邊框 #?取消右邊與上邊軸 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))?#?也可以是('axes',0.1)后面是百分比,相當于定位到10%處 ax.yaxis.set_ticks_position('left') ax.spines['left'].set_position(('data',0))

繪制特定散點

x0=1 y0=2*x0+1 #?plot散點圖,上述plt.plot(x,y)變?yōu)閜lt.scatter(x,y)繪制出來就是散點圖 #?s代表大小,b代表blue plt.scatter(x0,y0,s=50,color='b') #?把兩個點放進去plot一下,畫出垂直于x軸的一條線,[x0,x0]表示兩個點的x,[0,y0]表示兩個點的y

繪制(x0,y0)垂直于x軸的線

#?k--表示黑色虛線,k代表黑色,--表示虛線,lw表示線寬 plt.plot([x0,x0],[0,y0],'k--',lw=2.5)

添加注釋 annotate

''' 其中參數(shù)xycoords='data'?是說基于數(shù)據(jù)的值來選位置,?xytext=(+30,?-30)?和?textcoords='offset?points' 對于標注位置的描述?和?xy?偏差值,?arrowprops是對圖中箭頭類型的一些設置. '''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'))

添加注釋 text

#?其中-3.7,?3,是選取text的位置,?空格需要用到轉字符\?,fontdict設置文本字體. plt.text(-3.7,3,r'$This\?is\?the\?some\?text.\mu\?\sigma_i\?\alpha_t$',fontdict={'size':'16','color':'red'}) plt.show()

5.tick能見度

參考上面

import?matplotlib.pyplot?as?plt import?numpy?as?npx?=?np.linspace(-3,?3,?50) y?=?0.1*xplt.figure() #?設置?zorder?給?plot?在?z?軸方向排序 plt.plot(x,?y,?linewidth=10,?zorder=1) plt.ylim(-2,?2) ax?=?plt.gca() ax.spines['right'].set_color('none') ax.spines['top'].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))

調整坐標

#?對被遮擋的圖像調節(jié)相關透明度,本例中設置?x軸?和?y軸?的刻度數(shù)字進行透明度設置 for?label?in?ax.get_xticklabels()+ax.get_yticklabels():label.set_fontsize(12)'''其中l(wèi)abel.set_fontsize(12)重新調節(jié)字體大小,bbox設置目的內容的透明度相關參,facecolor調節(jié)?box?前景色,edgecolor?設置邊框,?本處設置邊框為無,alpha設置透明度.'''#?其中l(wèi)abel.set_fontsize(12)重新調節(jié)字體大小,bbox設置目的內容的透明度相關參,facecolor調節(jié)?box?前景色,edgecolor?設置邊框,?本處設置邊框為無,alpha設置透明度.label.set_bbox(dict(facecolor='white',edgecolor='none',alpha=0.7))

繪制

plt.show()

作者光城的公眾號:

請關注和分享↓↓↓?

機器學習初學者

QQ群:774999266

往期精彩回顧

  • 機器學習簡易入門-附推薦學習資料

  • 機器學習初學者公眾號下載資源匯總(一)

  • 黃海廣博士的github鏡像下載(機器學習及深度學習資源)

  • 吳恩達老師的機器學習和深度學習課程筆記打印版

  • 機器學習小抄-(像背托福單詞一樣理解機器學習)

  • 首發(fā):深度學習入門寶典-《python深度學習》原文代碼中文注釋版及電子書

  • 科研工作者的神器-zotero論文管理工具

  • 機器學習的數(shù)學基礎

  • 機器學習必備寶典-《統(tǒng)計學習方法》的python代碼實現(xiàn)、電子書及課件

  • 吐血推薦收藏的學位論文排版教程(完整版)

總結

以上是生活随笔為你收集整理的python绘图工具基础-matplotlib学习之基本使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。