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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

matplotlib包画基本的图

發(fā)布時(shí)間:2024/4/17 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matplotlib包画基本的图 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

畫直線圖

1.最簡單的用法:

import matplotlib.pyplot as plt import numpy as npx=np.linspace(-3,3,50) #在(-1,1)范圍內(nèi)生成50個(gè)數(shù),等分的, y=2*x+1#一張圖里畫一條線 plt.figure() #如果是一張圖里只有一條線,則使用它與不使用他差別不大,如果是在一張圖里有2條或多條線,則使用它可以把兩條線放在一個(gè)圖里。 plt.plot(x,y) plt.show()

?

2.有的時(shí)候需要在一張圖里畫兩條或多條線,這個(gè)時(shí)候就需要figure()

import matplotlib.pyplot as plt import numpy as npx=np.linspace(-3,3,50) #在(-1,1) y=2*x+1 y2=x**2#一張圖里化兩條或多條線 plt.figure() plt.plot(x,y) plt.plot(x,y2) plt.show()

3.當(dāng)設(shè)置坐標(biāo)軸時(shí),需要設(shè)置坐標(biāo)軸的范圍,單位長度,替換文字

import matplotlib.pyplot as plt import numpy as npx=np.linspace(-3,3,50) #在(-1,1)范圍內(nèi)生成50個(gè)數(shù),等分的, y=2*x+1 y2=x**2#修改圖中的樣式 plt.figure(num=3,figsize=(8,5)) plt.plot(x,y2)
plt.plot(x,y,color='red',linewidth=2.0,linestyle='--') #設(shè)置線段的顏色,長度,樣式,注意linestyle的值只能是兩個(gè)‘-’,不能是其他數(shù)量個(gè)#設(shè)置坐標(biāo)軸,設(shè)置坐標(biāo)軸的范圍,長度,替換文字等
plt.xlim(-1,2) #設(shè)置x軸的范圍
plt.ylim(-2,3) #設(shè)置y軸的范圍
plt.xlabel("i am x!") #設(shè)置x軸的名稱,解釋
plt.ylabel("i am y!") #設(shè)置y軸的名稱,解釋
plt.show() #設(shè)置坐標(biāo)軸的刻度的值為指定的值


new_ticks=np.linspace(-1,2,5)
print(new_ticks)
plt.xticks(new_ticks) #設(shè)置x軸的刻度和對(duì)應(yīng)的名稱
plt.yticks([-2,-1.8,-1,.22,3],[r'$really\ bad$',r'$bad$',r'$normal$',r'$good$',r'$really\ good$']) #設(shè)置y軸刻度和對(duì)應(yīng)的名稱
plt.show()

4.設(shè)置坐標(biāo)軸之——設(shè)置坐標(biāo)軸的位置

import matplotlib.pyplot as plt import numpy as npx=np.linspace(-3,3,50) #在(-1,1)范圍內(nèi)生成50個(gè)數(shù),等分的, y=2*x+1 y2=x**2#修改圖中的樣式 plt.figure(num=3,figsize=(8,5)) #設(shè)置坐標(biāo)軸原點(diǎn) plt.plot(x,y2) plt.plot(x,y,color='red',linewidth=2.0,linestyle='--') plt.xlabel("i am x!") plt.ylabel("i am y!") new_ticks=np.linspace(-1,2,5) print(new_ticks) plt.xticks(new_ticks) plt.yticks([-2,-1.8,-1,.22,3],[r'$really\ bad$',r'$bad$',r'$normal$',r'$good$',r'$really\ good$']) ax=plt.gca() ax.spines['right'].set_color('none') ax.spines['top'].set_color('none')ax.xaxis.set_ticks_position('bottom') #.xaxis.set_ticks_position設(shè)置x坐標(biāo)刻度數(shù)字或名稱的位置:屬性值有top,bottom,both,default,none ax.spines['bottom'].set_position(('data',-1)) #設(shè)置邊框位置,y=0的位置,即x軸綁定在y=1時(shí)的位置上 ax.yaxis.set_ticks_position('left') #.yaxis.set_ticks_position設(shè)置x坐標(biāo)刻度數(shù)字或名稱的位置 ax.spines['left'].set_position(('data',0)) #設(shè)置邊框位置,x=0的位置,即y軸綁定在x=0時(shí)的位置上 plt.show()

5,圖例設(shè)置

import matplotlib.pyplot as plt import numpy as npx=np.linspace(-3,3,50) #在(-1,1)范圍內(nèi)生成50個(gè)數(shù),等分的, y=2*x+1 y2=x**2#修改圖中的樣式 plt.figure(num=3,figsize=(8,5))
#
設(shè)置圖例 l1,=plt.plot(x,y2,label='linear line') #label設(shè)置label的名字 ,注意l1,和l2,是以逗號(hào)結(jié)尾的,因?yàn)閜lt.plot返回的是一個(gè)列表 l2,=plt.plot(x,y,color='red',linewidth=2.0,linestyle='--',label='square line') #label設(shè)置label的名字 plt.legend(handles=[l1,l2],labels=['up','down'],loc='best') #將圖例添加到圖中的最佳位置 plt.xlabel("i am x!") plt.ylabel("i am y!") new_ticks=np.linspace(-1,2,5) print(new_ticks) plt.xticks(new_ticks) plt.yticks([-2,-1.8,-1,.22,3],[r'$really\ bad$',r'$bad$',r'$normal$',r'$good$',r'$really\ good$']) ax=plt.gca() ax.spines['right'].set_color('none') ax.spines['top'].set_color('none') plt.show()

其中l(wèi)oc參數(shù)有多種,best表示自動(dòng)分配最佳位置,其余為

best->0

upper right->1

upper left->2

lower left->3

lower right->4

right->5

center left->6

center right->7

lower center->8

upper center->9

center->10

畫散點(diǎn)圖:

import matplotlib.pyplot as plt import numpy as np#data size n=1024 X=np.random.normal(0,1,n) #生成1024個(gè)數(shù),其中平均數(shù)是0,方差是1 Y=np.random.normal(0,1,n) T=np.arctan2(Y,X)plt.scatter(X,Y,s=75,c=T,alpha=0.5)#大小是75,顏色是T,透明度是0.5,X,Y作為location plt.xlim(-1.5,1.5) plt.xticks(())#隱藏x軸 plt.ylim(-1.5,1.5) plt.yticks(()) #隱藏y軸 plt.show()

畫柱狀圖

import matplotlib.pyplot as plt import numpy as npn=12 X=np.arange(n) #穗姐生成12個(gè)數(shù)字,x為0-11的整數(shù),Y為相應(yīng)的均勻分布的隨機(jī)數(shù)據(jù) Y1=(1-X/float(n)*np.random.uniform(0.5,1.0,n)) Y2=(1-X/float(n)*np.random.uniform(0.5,1.0,n)) plt.bar(X,+Y1,facecolor='#9999ff',edgecolor='white') #facecolar設(shè)置主題顏色,edgecolor設(shè)置邊框顏色為白色 plt.bar(X,-Y2,facecolor='#ff9999',edgecolor='white') plt.xlim(-0.5,n) plt.xticks(()) #隱藏x軸 plt.ylim(-1.25,1.25) plt.yticks(()) #隱藏y軸 for x,y in zip(X,Y1):plt.text(x+0.4,y+0.05,'%.2f' %y,ha='center',va='bottom') for x,y in zip(X,Y2): #吧X,Y2分別傳到x,y中plt.text(x+0.4,-y-0.05,'%.2f' %-y,ha='center',va='top') #把數(shù)據(jù)標(biāo)記在圖上 plt.show()

轉(zhuǎn)載于:https://www.cnblogs.com/nolonely/p/6912051.html

總結(jié)

以上是生活随笔為你收集整理的matplotlib包画基本的图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。