"""
seabon是专门的数据可视化包
1.数据分布可视化
"""
from sklearn.datasets import load_iris
import numpy as np
iris=load_iris()
# 将数据转换成DataFrame格式
from pandas import DataFrame
df=DataFrame(iris.data,columns=iris.feature_names)
df['target']=iris.target
import pandas as pd
from scipy import stats,integrate
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(color_codes=True)
# #set( )设置主题,调色板更常用
sns.distplot(df['petal length (cm)'],bins=15)
# distplot()默认绘出数据的直方图和密度函数,直方图bins(柱)的数目,
# 若填None,则默认使用Freedman-Diaconis规则指定柱的数目。
plt.show()
"""
x=, y=, #设置xy轴,显示columns名称
data = df, #设置数据
color = 'b', #设置颜色
s = 50, edgecolor = 'w', linewidth = 1,#设置散点大小、边缘颜色及宽度(只针对scatter)
stat_func=sci.pearsonr,
kind = 'scatter',#设置类型:'scatter','reg','resid','kde','hex'
space = 0.1, #设置散点图和布局图的间距
size = 8, #图表大小(自动调整为正方形))
ratio = 5, #散点图与布局图高度比,整型
marginal_kws = dict(bins=15, rug =True), #设置柱状图箱数,是否设置rug
"""
sns.jointplot(x="sepal length (cm)",y="sepal width (cm)",data=df,size=8)
plt.show()
``![在这里插入图片描述](https://img-blog.csdnimg.cn/20200511163159892.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzQ5Mzcy,size_16,color_FFFFFF,t_70)
#### 1.3分组散点图
“”"
分组散点图:
sns.FaceGrid()函数来实现
g.map(plt.scatter) #绘制散点图,设置横纵轴,设置透明度
g.add_legend() #加上图标注的图例
设置参数hue,分类显示
“”"
sns.FacetGrid(df,hue=‘target’,size=8).map(plt.scatter,‘sepal length (cm)’,‘sepal width (cm)’).add_legend()
plt.show()
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200511164947235.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzQ5Mzcy,size_16,color_FFFFFF,t_70)
#### 1.4 六边图
“”"
六边图:
样式控制:axes_style() and set_style()
有5个seaborn的主题,适用于不同的应用和人群偏好:
darkgrid 黑色网格(默认)
whitegrid 白色网格
dark 黑色背景
white 白色背景
ticks 应该是四周都有刻度线的白背景
x=, y=, #设置xy轴,显示columns名称
data = df, #设置数据
color = ‘b’, #设置颜色
s = 50, edgecolor = ‘w’, linewidth = 1,#设置散点大小、边缘颜色及宽度(只针对scatter)
stat_func=sci.pearsonr,
kind = ‘scatter’,#设置类型:‘scatter’,‘reg’,‘resid’,‘kde’,‘hex’
space = 0.1, #设置散点图和布局图的间距
size = 8, #图表大小(自动调整为正方形))
ratio = 5, #散点图与布局图高度比,整型
marginal_kws = dict(bins=15, rug =True), #设置柱状图箱数,是否设置rug
“”"
sns.axes_style(‘white’)
sns.jointplot(x=“sepal length (cm)”,y=“sepal width (cm)”,data=df,kind=“hex”,color=‘k’)
plt.show()
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020051116552065.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzQ5Mzcy,size_16,color_FFFFFF,t_70)
#### 1.5 二维核密度估计图
“”"
二维核密度估计图:用来估计未知密度函数
核密度估算(Kernel Density Estimation,KDE) 概率论中用来估计未知的密度函数
属于非参数检验的方法之一
“”"
g=sns.jointplot(x=“sepal length (cm)”,y=“sepal width (cm)”,data=df,kind=“kde”,color=‘m’)
plt.show()
g.plot_joint(plt.scatter,c=“w”,s=30,linewidth=1,marker=’+’)
g.ax_joint.collections[0].set_alpha(0);
plt.show()
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200511170618756.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzQ5Mzcy,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020051117063484.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzQ5Mzcy,size_16,color_FFFFFF,t_70)
#### 1.6矩阵散点图
“”"
矩阵散点图:
当同时考察多个变量之间的关系的时候,可以利用矩阵散点图同时绘制出各个变量之间的散点图,这样可以快速的发现多个变量之间的相关性
使用PairGrid()和pairlot()函数绘制出成对关系图
PairGrid()允许使用相同的绘图类型快速绘制子图的网格,在每一个子图中显示数据,每一行和每一列都会分配不同的变量
所以会生成成对变量之间的关系。
首先初始化网络,然后将绘图函数传递给map方法,并在每一个子图上面调用它
“”"
g=sns.PairGrid(df)
g.map(plt.scatter)
plt.show()
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200511171758383.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzQ5Mzcy,size_16,color_FFFFFF,t_70)
## 热力图
“”"
热力图:在不同的地方按照不同的颜色来表达区域数据的大小的图形
应用的地方很多,最常见的是热力地图,相关系数矩阵的展示,使用Seaborn
中的heatmap()函数实现
“”"
from sklearn.datasets import load_iris
import numpy as np
import pandas as pd
iris = load_iris()
from pandas import DataFrame
df = DataFrame(iris.data, columns=iris.feature_names)
df[“target”] = iris.target
from scipy import stats, integrate
from matplotlib import pyplot as plt
import seaborn as sns
import numpy as np
newdata = df
datacor = np.corrcoef(newdata, rowvar=0)
datacor = pd.DataFrame(data=datacor, columns=newdata.columns, index=newdata.columns)
mask = np.zeros_like(datacor)
mask[np.triu_indices_from(mask)] = True
plt.figure(figsize=(8, 8))
with sns.axes_style(“white”):
ax = sns.heatmap(datacor, mask=mask, square=True, annot=True)
ax.set_title(“Iris data Vatiables Relation”)
plt.figure(figsize=(8, 8))
with sns.axes_style(“white”):
ax = sns.heatmap(datacor, square=True, annot=True, fmt=“f”)
ax.set_title(“Iris data Vatiables Relation”)
plt.show()
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200511172626348.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzQ5Mzcy,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200511172642884.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MzQ5Mzcy,size_16,color_FFFFFF,t_70)