1 簡單線圖
import matplotlib.pyplotas plt
plt.rcParams['font.sans-serif']=['SimHei']#用來正常顯示中文標(biāo)簽
plt.rcParams['axes.unicode_minus']=False #用來正常顯示負(fù)號
x=[1,3,5,7,9]
y=[101,103,105,110,116]
plt.plot(x,y,color='pink',marker='o',lineStyle='solid')
plt.title("測試plot")
plt.ylabel('員')
plt.xlabel("人數(shù)")
plt.show()
圖:
畫線圖
import matplotlib.pyplotas plt
plt.rcParams['font.sans-serif']=['SimHei']#用來正常顯示中文標(biāo)簽
plt.rcParams['axes.unicode_minus']=False #用來正常顯示負(fù)號
variance = [1,2,4,8,16,32,64,128,256]
bias_squared = [256,128,64,32,16,8,4,2,1]
total_error = [x + yfor x, yin zip(variance, bias_squared)]
xs = [ifor i, _in enumerate(variance)]
# 可以多次調(diào)用plt.plot
# 以便在同一個(gè)圖上顯示多個(gè)序列
plt.plot(xs, variance,'g-',label='variance')# 綠色實(shí)線
plt.plot(xs, bias_squared,'r-.',label='bias^2')# 紅色點(diǎn)虛線
plt.plot(xs, total_error,'b:',label='total error')# 藍(lán)色點(diǎn)線
# 因?yàn)橐呀?jīng)對每個(gè)序列都指派了標(biāo)記
# 所以可以自由地布置圖例
# loc=9指的是“頂部中央”
plt.legend(loc=9)
plt.xlabel("模型復(fù)雜度")
plt.title("偏差-方差權(quán)衡圖")
plt.show()
圖:
2 柱狀圖
import matplotlib.pyplotas plt
plt.rcParams['font.sans-serif']=['SimHei']#用來正常顯示中文標(biāo)簽
plt.rcParams['axes.unicode_minus']=False #用來正常顯示負(fù)號
movies = ["Annie Hall","Ben-Hur","Casablanca","Gandhi","West Side Story"]
num_oscars = [5,11,3,8,10]
# 條形的默認(rèn)寬度是0.8,因此我們對左側(cè)坐標(biāo)加上0.1
# 這樣每個(gè)條形就被放置在中心了
x=[ifor i,_in enumerate(movies)]
plt.bar(x,num_oscars)
plt.ylabel("獲得奧斯卡獎的數(shù)量")
plt.title("我喜歡的電影")
# 獲取或設(shè)置x軸的當(dāng)前刻度位置和標(biāo)簽
plt.xticks(x,movies)
plt.show()
圖:
3 散點(diǎn)圖
import matplotlib.pyplotas plt
plt.rcParams['font.sans-serif']=['SimHei']#用來正常顯示中文標(biāo)簽
plt.rcParams['axes.unicode_minus']=False #用來正常顯示負(fù)號
friends = [70,65,72,63,71,64,60,64,67]
minutes = [175,170,205,120,220,130,105,145,190]
labels = ['a','b','c','d','e','f','g','h','i']
# 具有不同標(biāo)記大小和/或顏色的y和x的散點(diǎn)圖
plt.scatter(friends, minutes)
# 每個(gè)點(diǎn)加標(biāo)記
for label, friend_count, minute_countin zip(labels, friends, minutes):
#用文本s標(biāo)注點(diǎn)xy
? ? plt.annotate(label,
xy=(friend_count, minute_count),# 把標(biāo)記放在對應(yīng)的點(diǎn)上
? ? xytext=(5, -5),# 但要有輕微偏離
? ? textcoords='offset points')
plt.title("日分鐘數(shù)與朋友數(shù)")
plt.xlabel("朋友數(shù)")
plt.ylabel("花在網(wǎng)站上的日分鐘數(shù)")
plt.show()
圖: