# 导入相应的python包
import pandas as pd
import warnings # 用来忽略seaborn绘图库产生的warnings
warnings.filterwarnings("ignore")
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="white", color_codes=True)
%matplotlib inline
# 读取数据
iris = pd.read_csv("iris.csv")
iris.head()
sepal_length | sepal_width | petal_length | petal_width | species | |
---|---|---|---|---|---|
0 | 5.1 | 3.5 | 1.4 | 0.2 | setosa |
1 | 4.9 | 3.0 | 1.4 | 0.2 | setosa |
2 | 4.7 | 3.2 | 1.3 | 0.2 | setosa |
3 | 4.6 | 3.1 | 1.5 | 0.2 | setosa |
4 | 5.0 | 3.6 | 1.4 | 0.2 | setosa |
iris["species"].value_counts()
setosa 50
versicolor 50
virginica 50
Name: species, dtype: int64
绘制散点图
sns.jointplot(x="sepal_length", y="sepal_width", data=iris, kind='reg', size=6)
sns.FacetGrid(iris, hue="species", size=5).map(plt.scatter, "sepal_length", "sepal_width").add_legend()
绘制箱线图
fig = plt.figure()
fig.set_size_inches(8, 5)
sns.boxplot(x="species", y="sepal_length", data=iris)
fig = plt.figure()
fig.set_size_inches(8, 5)
sns.boxplot(x="species", y="sepal_length", data=iris)
sns.stripplot(x="species", y="sepal_length", data=iris, jitter=True, edgecolor="gray")
fig = plt.figure()
fig.set_size_inches(8, 5)
sns.violinplot(x="species", y="petal_length", data=iris, size=6)
绘制KDE分布
sns.FacetGrid(iris, hue="species", size=5).map(sns.kdeplot, "petal_width").add_legend()
绘制特征之间的散点图
sns.pairplot(iris, hue="species", size=3)
绘制特征之间的kde分布图
sns.pairplot(iris, hue="species", size=3, diag_kind="kde")
iris.boxplot(by="species", figsize=(12, 6))
绘制andrews curves
from pandas.tools.plotting import andrews_curves
andrews_curves(iris, "species")
绘制parallel coordinates
from pandas.tools.plotting import parallel_coordinates
parallel_coordinates(iris, "species")
绘制radviz
from pandas.tools.plotting import radviz
radviz(iris, "species")