plt.figure()和plt.subplot()的⽤法
⼀、plt.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)
⽅便连续画⼏个图⽚
参数说明:
1.num:图像编码或者名称,数字是编码,字符串是名称
2.figsize:宽和⾼,单位是英尺我有一个女朋友
3.dpi:指定绘图对象的分辨率,即每英⼨多少个像素,缺省值为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 aborn as sns
import scipy.stats as st
Train_data =pd.read_csv('F:\\python\\天池_⼆⼿车交易价格预测\\ud_car_train_20200313.csv',p='')
y = Train_data['price']
plt.figure(1); plt.title('Johnson SU')
sns.distplot(y, kde=Fal, fit=st.johnsonsu)
plt.figure(2); plt.title('Normal')
sns.distplot(y, kde=Fal, )
plt.figure(3); plt.title('Log Normal')
sns.distplot(y, kde=Fal, fit=st.lognorm)
结果就可以⼀下⼦跑⼏个图⽚了
⼆、
plt.subplots(nrows,ncols,sharex,sharey,subplot_kw,**fig_kw) subplot可以规划figure划分为n个⼦图,但每条subplot命令只会创建⼀个⼦图
参数说明:
生物多样性作文3.sharex:和谁共享x轴
4.sharey:和谁共享y轴
5.subplot_kw:关键字字典
6.**fig_kw:其他关键字
plt.subplot(ijn)形式,其中ij是⾏列数,n是第⼏个图,⽐如
(221)则是⼀个有四个图,该图位于第⼀个
#1.plt.subplot(ijn)形式,其中ij是⾏列数,n是第⼏个图,⽐如(221)则是⼀个有四个图,该图位于第⼀个
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)日常英语
#作图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)
fig,axes=plt.subplots(n,n)
#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
写物的作文300字ax1.plot(x, x)
香辣土豆片的做法#作图2
ax2.plot(x, -x)
#作图3
ax3.plot(x, x ** 2)
#作图4
ax4.plot(x, np.log(x))
plt.show()
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(nrows=2, ncols=2, figsize=(10, 10))
还可以是这种
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)
#作图4
ax4.plot(x, np.log(x))
plt.show()
#或者是这种:⽤sns中的ax=ax1
import numpy as np
import matplotlib.pyplot as plt
import aborn as sns
x = np.arange(0, 100)
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(nrows=2, ncols=2, figsize=(10, 10)) #作图1
#作图2
#作图3
#作图4
plt.show()
使⽤for循环画图
#还是使⽤前⾯的Train_data,实现对v_的字段画条形图
n_cols=[i for i in lumns if i[:2]== 'v_']
n_cols=['v_0','v_1','v2'] #简单跑⼀下算了
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)