# 导入相应的python包
import pandas as pd
import 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")
