區別
plt.XX之類的是函數式繪圖,通過將數據參數傳入plt類的靜態方法中並調用方法,從而繪圖。fig,ax=plt.subplots()是對象式編程,這里plt.subplots()是返回一個元組,包含了figure對象(控制總體圖形大小)和axes對象(控制繪圖,坐標之類的)。進行對象式繪圖,首先是要通過plt.subplots()將figure類和axes類實例化也就是代碼中的fig,ax,然后通過fig調整整體圖片大小,通過ax繪制圖形,設置坐標,函數式繪圖最大的好處就是直觀,但如果繪制稍微復雜的圖像,或者過子圖操作,就不如對象式繪圖了,ax.set_title()是給ax這個子圖設置標題,當子圖存在多個的時候,可以通過ax設置不同的標題,如果僅僅是調用plt.title()給多個子圖上標題,就比較麻煩了
ax.set_title()
import matplotlib .pyplot as plt x=[1,2,3,4,5] y=[3,6,7,9,2] # 實例化兩個子圖(1,2)表示1行2列 fig,ax=plt.subplots(1,2) ax[0].plot(x,y,label='trend') ax[1].plot(x,y,color='cyan') ax[0].set_title('title 1') ax[1].set_title('title 2')
plt.title()
import matplotlib .pyplot as plt x=[1,2,3,4,5] y=[3,6,7,9,2] # fig,ax=plt.subplots(1,2) plt.figure(1) plt.subplot(121)# 12表示子圖分布:一行2列;最后一個1表示第1個子圖,從左往右 plt.plot(x,y,label='trend') plt.title('title 1',fontsize=12,color='r') #r: red plt.subplot(122)#第二個子圖 plt.plot(x,y,c='cyan') plt.title('title 2')
pandas的df自帶的plot,自帶設置圖片大小,圖片命名等
#按照neighbourhood和room_type分組,計算每個值的個數和price的均值 neigh_roomtype=listings.groupby(['neighbourhood','room_type']).agg({'id':'size','price':'mean'}) #將ID改為number neigh_roomtype=neigh_roomtype.rename(columns={'id':'number'}) #先對number計算統計可視化等 number_n_r=neigh_roomtype.unstack()['number'] number_n_r.plot(figsize=(12,5),title='圖1:不同房屋類型在不同地區的數量')