plt.figure() 和plt.subplot() 的用法
一、plt.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)
方便連續(xù)畫(huà)幾個(gè)圖片
參數(shù)說(shuō)明:
1.num:圖像編碼或者名稱(chēng),數(shù)字是編碼,字符串是名稱(chēng)
2.figsize:寬和高,單位是英尺
3.dpi:指定繪圖對(duì)象的分辨率,即每英寸多少個(gè)像素,缺省值為80
4.facecolor:背景顏色
5.edgecolor:邊框顏色
6.frameon:是否顯示邊框
例子:
import warnings
warnings.filterwarnings('ignore')
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import scipy.stats as st
Train_data =pd.read_csv('F:\python\天池_二手車(chē)交易價(jià)格預(yù)測(cè)\used_car_train_20200313.csv',sep=' ')
y = Train_data['price']
plt.figure(1); plt.title('Johnson SU')
sns.distplot(y, kde=False, fit=st.johnsonsu)
plt.figure(2); plt.title('Normal')
sns.distplot(y, kde=False, fit=st.norm)
plt.figure(3); plt.title('Log Normal')
sns.distplot(y, kde=False, fit=st.lognorm)
結(jié)果就可以一下子跑幾個(gè)圖片了
二、plt.subplots(nrows,ncols,sharex,sharey,subplot_kw,**fig_kw)
subplot可以規(guī)劃figure劃分為n個(gè)子圖,但每條subplot命令只會(huì)創(chuàng)建一個(gè)子圖
參數(shù)說(shuō)明:
1.nrows:行數(shù)
2.ncols:列數(shù)
3.sharex:和誰(shuí)共享x軸
4.sharey:和誰(shuí)共享y軸
5.subplot_kw:關(guān)鍵字字典
6.**fig_kw:其他關(guān)鍵字
#1.plt.subplot(ijn)形式,其中ij是行列數(shù),n是第幾個(gè)圖,比如(221)則是一個(gè)有四個(gè)圖,該圖位于第一個(gè) import numpy as np import matplotlib.pyplot as plt x = np.arange(0, 100) #作圖1 plt.subplot(221) plt.plot(x, x) #作圖2 plt.subplot(222) plt.plot(x, -x) #作圖3 plt.subplot(223) plt.plot(x, x ** 2) plt.grid(color='r', linestyle='--', linewidth=1,alpha=0.3) #作圖4 plt.subplot(224) plt.plot(x, np.log(x)) plt.show() #又或者是這樣 import numpy as np import matplotlib.pyplot as plt x = np.arange(0, 100) #作圖1 plt.subplot(331) plt.plot(x, x) #作圖2 plt.subplot(332) plt.plot(x, -x) #作圖3 plt.subplot(333) plt.plot(x, x ** 2) plt.grid(color='r', linestyle='--', linewidth=1,alpha=0.3)
#2.fig,axes=plt.subplots(n,n) import numpy as np import matplotlib.pyplot as plt x = np.arange(0, 100) #劃分子圖 fig,axes=plt.subplots(2,2) ax1=axes[0,0] ax2=axes[0,1] ax3=axes[1,0] ax4=axes[1,1] #作圖1 ax1.plot(x, x) #作圖2 ax2.plot(x, -x) #作圖3 ax3.plot(x, x ** 2) ax3.grid(color='r', linestyle='--', linewidth=1,alpha=0.3) #作圖4 ax4.plot(x, np.log(x)) plt.show()
還可以是這種
import numpy as np import matplotlib.pyplot as plt x = np.arange(0, 100) fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(nrows=2, ncols=2, figsize=(10, 10)) #作圖1 ax1.plot(x, x) #作圖2 ax2.plot(x, -x) #作圖3 ax3.plot(x, x ** 2) ax3.grid(color='r', linestyle='--', linewidth=1,alpha=0.3) #作圖4 ax4.plot(x, np.log(x)) plt.show()
#或者是這種:用sns中的ax=ax1 import numpy as np import matplotlib.pyplot as plt import seaborn as sns x = np.arange(0, 100) fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(nrows=2, ncols=2, figsize=(10, 10)) #作圖1 sns.regplot(x, x,ax=ax1) #作圖2 sns.regplot(x, -x,ax=ax2) #作圖3 sns.regplot(x, x ** 2,ax=ax3); #作圖4 sns.regplot(x, np.log(x),ax=ax4) plt.show()
使用for循環(huán)畫(huà)圖
#還是使用前面的Train_data,實(shí)現(xiàn)對(duì)v_的字段畫(huà)條形圖 n_cols=[i for i in Train_data.columns if i[:2]== 'v_']
n_cols=['v_0','v_1','v2'] #簡(jiǎn)單跑一下算了 for i ,col in enumerate(n_cols): plt.subplot(3,1,i+1) sns.barplot(x=col,y='price',data=Train_data) plt.title(('%s') % col)
總結(jié)
以上是生活随笔為你收集整理的plt.figure() 和plt.subplot() 的用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 京东方为努比亚 Z50 Ultra 手机
- 下一篇: win10电脑c盘满了如何清理干净