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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python matplotlib绘图大全(散点图、柱状图、饼图、极坐标图、热量图、三维图以及热图)...

發(fā)布時(shí)間:2023/12/10 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python matplotlib绘图大全(散点图、柱状图、饼图、极坐标图、热量图、三维图以及热图)... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

//2019.7.14晚
matplotlib七種常見圖像輸出編程大全

七種圖形匯總輸出如下:


import numpy as np #導(dǎo)入數(shù)據(jù)結(jié)構(gòu)nmupy模塊
import matplotlib.pyplot as plt #導(dǎo)入matplotlib圖像輸出模塊
plt.rcParams["font.sans-serif"]=["SimHei"] #輸出圖像的標(biāo)題可以為中文正常輸出
plt.rcParams["axes.unicode_minus"]=False #可以正常輸出圖線里的負(fù)號(hào)

(必會(huì)用到的導(dǎo)入模塊)
#1-1散點(diǎn)圖輸出
fig=plt.figure()
fig.add_subplot(3,3,1)
n=128
X=np.random.normal(0,1,n) #隨機(jī)數(shù)X的生成(生成正態(tài)分布,平均數(shù)為0,方差為1,個(gè)數(shù)為128)
Y=np.random.normal(0,1,n) #隨機(jī)數(shù)Y的生成(生成正態(tài)分布,平均數(shù)為0,方差為1,個(gè)數(shù)為128)
T=np.arctan2(Y,X)
#plt.axes([0.025,0.025,0.95,0.95]) #指定顯示范圍
plt.scatter(X,Y,s=75,c=T,alpha=.5) #畫散點(diǎn)圖的函數(shù)scatter(其中XY表示數(shù)值的大小,s表示散點(diǎn)的尺寸大小,c表示顏色,alpha表示透明度)
plt.xlim(-1.5,1.5),plt.xticks([]) #x和y坐標(biāo)軸的范圍
plt.ylim(-1.5,1.5),plt.yticks([]) #x和y坐標(biāo)軸的范圍
plt.axis() #顯示所有圖像范圍
plt.title("scatter")
plt.xlabel("x")
plt.ylabel("y")

#1-2bar 柱狀圖
fig.add_subplot(3,3,2)
n=10
X=np.arange(n) #定義從0-9的數(shù)列
Y1=(1-X/float(n))*np.random.uniform(0.5,1.0,n) #定義變量X的計(jì)算方式
Y2=(1-X/float(n))*np.random.uniform(0.5,1.0,n) #定義變量Y的計(jì)算方式
plt.bar(X,Y1,facecolor="#9999ff",edgecolor="white") #編輯輸出柱狀圖的格式(其中facecolor表示輸出柱狀圖的顏色,edgecolor表示邊框的顏色)
plt.bar(X,-Y2,facecolor="#ff9999",edgecolor="white") #編輯輸出柱狀圖的格式
for x,y in zip(X,Y1): #編輯輸出柱狀圖的位置格式(其中0.4表示每個(gè)柱狀圖之間的距離,'%.2f'% y表示輸出小數(shù)點(diǎn)的位數(shù),ha表示數(shù)值標(biāo)注橫向?qū)R,va表示柱狀圖縱向?qū)R位置)
plt.text(x,y+0.05,'%.2f'% y,ha='center',va="bottom")
for x, y in zip(X,Y2):
plt.text(x,-y-0.05,'%.2f'% y,ha='center',va="top")


#Pie1-3(餅圖)
fig.add_subplot(3,3,3)
n=20
z=np.ones(n)
z[-1]=2
plt.pie(z,explode=z*.05,colors=["%f"%(i/float(n)) for i in range(n)],labels=["%.2f"%(i/float(n)) for i in range(n)])
#其中z為原來輸入的數(shù)組,explode表示整個(gè)扇形距離圓心的距離大小(如果不寫默認(rèn)為0),colors表示顏色變化,labels表示各個(gè)扇形的數(shù)值大小(其中2表示小數(shù)位數(shù)大小
plt.gca().set_aspect("equal") #圓形
plt.xticks([])
plt.yticks([])

plt.show()


#polar1-4(極坐標(biāo)圖)
fig.add_subplot(3,3,4,polar=True) #需要使得polar模塊為真True
n=20
theta=np.arange(0.0,2*np.pi,2*np.pi/n) #定義角度
radii=10*np.random.rand(n) #定義半徑
plt.plot(theta,radii) #輸出折線圖
#plt.polar(theta,radii)兩種方式都可以 #輸出極坐標(biāo)圖

#1-5 heatmap
from matplotlib import cm #輸出顏色設(shè)置模塊
fig.add_subplot(335)
data=np.random.rand(3,3)
cmap=cm.Blues #選擇顏色系為藍(lán)色體系
map=plt.imshow(data,interpolation="nearest",cmap=cmap,aspect="auto",vmin=0,vmax=1) #設(shè)置圖像輸出時(shí)的格式


#1-6 3D
from mpl_toolkits.mplot3d import Axes3D #導(dǎo)入3D模塊
fig.add_subplot(336,projection="3d")
x=np.random.randint(1,10,10)
y=np.random.randint(1,10,10)
z=x*2+2*y #函數(shù)關(guān)系式
plt.plot(x,y,z,"r") #輸出3D圖像

#1-7 hotmap熱流圖
fig.add_subplot(313)
def f(x,y):
return (1-x/2+x**5+y**3)*np.exp(-x**2-y**2)
n=256
x=np.linspace(-3,3,n)
y=np.linspace(-3,3,n)
X,Y=np.meshgrid(x,y) #將xy轉(zhuǎn)換為矩陣

#將向量x和y定義的區(qū)域轉(zhuǎn)換成矩陣X和Y,其中矩陣X的行向量是向量x的簡單復(fù)制,而矩陣Y的列向量是向量y的簡單復(fù)制#假設(shè)x是長度為m的向量,y是長度為n的向量,則最終生成的矩陣X和Y的維度都是 nm (注意不是mn)

plt.contourf(X,Y,f(X,Y),8,cmap=plt.cm.hot) #輸出熱流圖
plt.show()

?

轉(zhuǎn)載于:https://www.cnblogs.com/Yanjy-OnlyOne/p/11185226.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的python matplotlib绘图大全(散点图、柱状图、饼图、极坐标图、热量图、三维图以及热图)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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