import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline
def sinplot(flip=1):
x =np.linspace(0, 14, 100) #0到14这段区间上,找出100个点
for i in range(1,7): #想要画六条线
plt.plot(x, np.sin(x+i*.5) * (7-i) * flip)
sinplot()
sns.set()
sinplot()
#5种主题风格供选择
#darkgrid
#whitegrid
#dark
#white
#ticks
sns.set_style("whitegrid")
data = np.random.normal(size=(20,6)) +np.arange(6) /2
sns.boxplot(data=data)
sns.set_style("dark")
sinplot()
sns.set_style("white")
sinplot()
sns.set_style("ticks")
sinplot()
sinplot()
sns.despine()
sns.violinplot(data) #画个嘴唇
sns.despine(offset=30) #距离轴线距离
sns.set_style("whitegrid")
sns.boxplot(data=data, palette="deep")
sns.despine(left=True) #注释掉左边的轴线
with sns.axes_style("darkgrid"): #用with,在with里面的用darkgrid风格,外面的不用
plt.subplot(211)
sinplot()
plt.subplot(212)
sinplot(-1)
sns.set()
sns.set_context("paper")
plt.figure(figsize=(8,6))
sinplot()
sns.set_context("notebook", font_scale=1.5, rc={"lines.linewidth": 2.5}) #字体大小,粗度大小
sinplot()
#颜色很重要
#color_palette()能传入任何Matplotlib所支持的颜色
#color_palette()不能参数则默认颜色
#set_palette()设置所有图的颜色
current_palette=sns.color_palette()
sns.palplot(current_palette)
sns.palplot(sns.color_palette("hls", 8))
data = np.random.normal(size=(20,8)) + np.arange(8) / 2
sns.boxplot(data=data,palette=sns.color_palette("hls", 9))
sns.palplot(sns.hls_palette(8, l=0.5, s=0.5)) #亮度和饱和度
sns.palplot(sns.color_palette("Paired",8)) #颜色成对出现
plt.plot([0, 1], [0, 1], sns.xkcd_rgb["pale red"], lw=10) #线宽和颜色
plt.plot([0, 1], [0, 2], sns.xkcd_rgb["medium green"], lw=3)
plt.plot([0, 1], [0, 3], sns.xkcd_rgb["denim blue"], lw=3)
colors = ["windows blue", "amber", "greyish", "faded green", "dusty purple"]
sns.palplot(sns.xkcd_palette(colors))
sns.palplot(sns.color_palette("Blues")) #颜色渐变,由浅入深
sns.palplot(sns.color_palette("BuGn_r"))#颜色渐变,由深变浅
sns.palplot(sns.color_palette("cubehelix", 8))
sns.palplot(sns.cubehelix_palette(8, start =.5, rot =.75))
sns.palplot(sns.cubehelix_palette(8, start=.75, rot=.150))
sns.palplot(sns.light_palette("green"))
sns.palplot(sns.dark_palette("purple"))
x = np.random.normal(size=100)
sns.distplot(x,kde=False)
sns.distplot(x, bins=20, kde=False)
mean, cov = [0, 1], [(1, .5), (.5, 1)]
data = np.random.multivariate_normal(mean,cov,200)
df = pd.DataFrame(data, columns=["x", "y"])
df
sns.jointplot(x="x", y="y", data=df); #散点图,第一个维度是x,第二个维度是y,数据是df
x, y = np.random.multivariate_normal(mean , cov, 1000).T
with sns.axes_style("white"): #witrh里面指定风格
sns.jointplot(x=x, y=y, kind="hex", color="k") #指定x,y和kind
iris= sns.load_dataset("iris")
sns.pairplot(iris)#帮我们画出对角线上,直方图的情况,非对角线上,散点图的情况。