python可视化

一、matplotlib

1.理解Figure和Axes

  • 在任何绘图之前,我们需要一个Figure对象,可以理解成我们需要一张画板才能开始绘图。
  • 在拥有Figure对象之后,在作画前我们还需要轴,没有轴的话就没有绘图基准,所以需要添加Axes对象。也可以理解成为真正可以作画的纸。
  • 生成画板和画纸的方式:
    1、先创建画板,再在画板上的指定位置添加画纸;
    2、一次性生成画板和所有画纸。

2.利用Axes画图

2.1 利用Axes画图有2种方式,比如,以plot()绘制线型图为例。

  • 方式1 直接绘制ax.plot(x,y)
x = np.linspace(0, np.pi)
y = np.sin(x)
ax.plot(x,y)
  • 方式2 使用关键字参数的绘图方式
ax.plot('x', 'mean', data=data_obj)

2.2 可通过Axes设置画纸,比如标题、坐标轴区间、图例等

3.不利用画板&画纸的简单绘图方式

3.1 简单绘图方式

3.2 设置布局、图例说明、边界等

二、seaborn

1.简介

  • Seaborn是基于matplotlib的图形可视化python包。
  • Seaborn是在matplotlib的基础上进行了更高级的API封装,应该把Seaborn视为matplotlib的补充,而不是替代物。
  • 同时它能高度兼容numpy与pandas数据结构以及scipy与statsmodels等统计模式。

2.使用

输入的数据格式可以为:列表,numpy数组或pandas Series对象的数据向量可以直接传递给x,y和hue参数。

2.1 利用sns画图有2种方式:(与Axes画图的原理类似),例如:

#使用关键字参数的绘图方式
sns.boxplot(x='OverallQual', y="SalePrice", data=data)

2.2 利用函数返回的ax进行细节设置
此外,sns.boxplot函数还会返回一个Axes轴对象,并在其上绘制绘图。也就是说,返回一个【已绘图的ax对象】,可利用这个ax对象进行细节设置。

三、Pandas之plot画图方法

这种方法适合画一些简单的图,比如折线图、散点图;

ax = data.plot.scatter(x='A',y='B',color='DarkBlue',label='Class1')
data.plot.scatter(x='A',y='C',color='LightGreen',label='Class2',ax=ax)

注意,该方法有一个参数ax,从上面可看出,若未指定ax时,data.plot.scatter在绘制的同时会生成一个ax画纸,因此,无需额外创建。

四、可视化demo

demo1

# 构造数据
ser = pd.Series(np.arange(1,5), index=[i for i in "ABCD"])
# 一次性创建画板&画纸
fig, ax = plt.subplots(figsize = (10,6))
# 利用sns绘制
sns.barplot(x=ser.index, y=ser)
# 细节设置
plt.xticks(rotation='90') # rotation代表lable显示的旋转角度
plt.xlabel('X Name', fontsize=15)
plt.ylabel('Y Name', fontsize=15)
plt.title('Demo_1 barplot', fontsize=15)
# 显示
plt.show()

demo2

# 皮尔逊相关系数,两个变量为正相关,相关系数在0.00与1.00之间
# 两个变量为负相关,相关系数在-1.00与0.00之间
corr_df = train.corr()
fig,ax = plt.subplots(figsize=(12,8))
sns.heatmap(corr_df, vmax=.8, square=True) # sns绘制热力图
plt.show()

你可能感兴趣的:(python可视化)