facetgrid学习

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import numpy as np
import pandas as pd
import seaborn as sns
from scipy import stats
import matplotlib as mpl
import matplotlib.pyplot as plt

sns.set(style="ticks")
np.random.seed(sum(map(ord,"axis_grids")))
tips = sns.load_dataset("tips")
print(tips.head())
#hiat:条形图
g = sns.FacetGrid(tips,col="time")
g.map(plt.hist,"tip");
plt.show()
a = sns.FacetGrid(tips,col="sex",hue="smoker")
a.map(plt.scatter,"total_bill","tip",alpha=.7) #alpha:透明度
a.add_legend();#区分出颜色分别代表什么
plt.show()
#点图,指定颜色等
b = sns.FacetGrid(tips,row="smoker",col="time",margin_titles=True)
b.map(sns.regplot,"size","total_bill",color=".1",
      fit_reg=False,x_jitter=.1)
plt.show()
#盒图,设置大小
c = sns.FacetGrid(tips,col="day",size=4,aspect=.5)
c.map(sns.barplot,"sex","total_bill")
plt.show()
#指定先后顺序,参数都是pandas格式,Categorical分类方法
from pandas import Categorical
ordered_days = tips.day.value_counts().index
print(ordered_days)
ordered_days = Categorical(['Thur','Fri', 'Sat', 'Sun'])
d = sns.FacetGrid(tips,row="day",row_order=ordered_days,
                  size=1.7,aspect=4)
d.map(sns.boxplot,"total_bill")
plt.show()
"""
with sns.axes_style("white"):
    g = sns.FacetGrid(tips, row="sex", col="smoker", margin_titles=True, size=2.5)
g.map(plt.scatter, "total_bill", "tip", color="#334488", edgecolor="white", lw=.5);
g.set_axis_labels("Total bill (US Dollars)", "Tip");
g.set(xticks=[10, 30, 50], yticks=[2, 6, 10]);
g.fig.subplots_adjust(wspace=.02, hspace=.02);
#g.fig.subplots_adjust(left  = 0.125,right = 0.5,bottom = 0.1,top = 0.9, wspace=.02, hspace=.02)

iris = sns.load_dataset("iris")
g = sns.PairGrid(iris)
g.map(plt.scatter);

g = sns.PairGrid(iris, hue="species")
g.map_diag(plt.hist)
g.map_offdiag(plt.scatter)
g.add_legend();

g = sns.PairGrid(iris, vars=["sepal_length", "sepal_width"], hue="species")
g.map(plt.scatter);

g = sns.PairGrid(tips, hue="size", palette="GnBu_d")
g.map(plt.scatter, s=50, edgecolor="white")
g.add_legend();
"""
原文地址:https://www.cnblogs.com/lifengwu/p/9821612.html