05Python可视化库Seaborn

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)#帮我们画出对角线上,直方图的情况,非对角线上,散点图的情况。


猜你喜欢

转载自blog.csdn.net/qq_41858768/article/details/79618283
今日推荐