zoukankan      html  css  js  c++  java
  • 4.machinelearning的好伙伴seaborn

    seaborn库初识

    import matplotlib.pyplot as plt
    import matplotlib as mpl
    import numpy as np
    import seaborn as sns
    
    
    """
    seaborn是基于matplotlib的一个画图库
    """
    def sinplot(flip = 1):
        x = np.linspace(0,14,100)
        for i in range(1,7):
            plt.plot(x,np.sin(x+i * 0.5)*(7 - i )* flip)
    
    
    # sinplot()
    # seaborn默认风格设置
    sns.set()
    
    sns.set_style("white") # 背景为白色,有刻度
    # sns.set_style('ticks')
    # 默认去掉没用的轴
    
    
    
    """对图像的边框和位移的操作必须在图像绘制完成之后才能使用"""
    #sns.despine(offset=100) # 对图像进行平移
    # sns.despine(left=True)
    
    
    # 对于不同的多个图指定统一风格
    
    with sns.axes_style('darkgrid'):
        plt.subplot(211)
        sinplot()
    plt.subplot(212)
    sinplot(-1)

    调色板

    import matplotlib as mpl
    import matplotlib.pyplot as plt
    import numpy as np
    import pandas as pd
    import seaborn as sns
    
    # 分类色板
    
    # 离散型画板
    # RGB空间色板
    current_palette = sns.color_palette()
    # hls空间的色板
    current_palette = sns.hls_palette(8)
    sns.palplot(current_palette)  # seaborn的色板画图函数
    
    
    # hls画板实例
    data = np.random.normal(size = (20,8)) + np.arange(8) / 2
    sns.boxplot(data = data,palette= sns.hls_palette(8))
    
    plt.show()

    调色板设置

    import seaborn as sns
    import matplotlib.pyplot as plt
    
    # 连续性画板
    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 = 0.5, rot = - 0.75))
    
    # 指定连续画板的深浅
    sns.palplot(sns.light_palette('yellow')) # 由浅到深
    sns.palplot(sns.light_palette('yellow',reverse= True)) # 由浅到深反转
    sns.palplot(sns.dark_palette('purple')) # 有深入浅
    
    
    plt.show()

    分类属性绘制

    import matplotlib.pyplot as plt
    import seaborn as sns
    import numpy as np
    import pandas as pd
    
    sns.set(style='whitegrid', color_codes=True)
    
    np.random.seed(sum(map(ord,'categorical')))
    titanic = pd.read_csv('seaborn_data/titanic.csv')
    tips = pd.read_csv('seaborn_data/tips.csv')
    iris = pd.read_csv('seaborn_data/iris.csv')
    
    # 柱状图
    sns.barplot(x='sex',y='survived',hue='class',data=titanic) # hue指定图像中分几类统计元素
    plt.show()
    # 点线图
    sns.pointplot(x='sex',y='survived',hue='class',data=titanic)
    plt.show()
    # 可以指定点线图的颜色,点形状,线形式
    sns.pointplot(x='class',y='survived',hue='sex',data=titanic,palette={'male':'g','female':'m'}
                  ,markers=['^','o'],linestyles=['-','--'])
    plt.show()
    # 多层面板分类图,什么都不指定的时候
    sns.catplot(x = 'day',
                   y = 'total_bill',
                   hue = 'smoker',
                   row = 'day',
                   kind = 'box',
                   data = tips,
                height=5,
                aspect=0.5) # kind指定图像类型,col指定分几类图像增加维度,height控制图形高度,aspect横纵此
    """
    参数大全
    *x,y,hue 数据集变量,变量名
    *date 数据集 数据集名
    *row col 更多分类变量平铺显示 变量名
    *aspect横纵此
    *oriend方向
    
    """
    plt.show()

  • 相关阅读:
    汉诺塔学习笔记,有不正确的地方请小伙伴们指正~·~
    梯有N阶,上楼可以一步上一阶,也可以一步上二阶。编写一个程序,计算共有多少中不同的走法?
    HTTP Status 500
    java基础知识
    JAVA多线程和并发基础面试问答
    thymeleaf中的th:remove用法
    thymeleaf:局部变量 th:with
    springboot: thymeleaf 使用详解
    eclipse修改工作目录颜色
    The user specified as a definer ('root'@'%') does not exist
  • 原文地址:https://www.cnblogs.com/wigginess/p/13069826.html
Copyright © 2011-2022 走看看