Python数据可视化之Seaborn库详解(入门篇:介绍与应用)

 一、Seaborn的介绍

        Seaborn 是一个基于 matplotlib 的 Python 库,对其进行了高级 API 的封装,使得作图更为方便和吸引人。尽管在大多数情况下,使用 Seaborn 就能够创建出美观的图表,但 matplotlib 提供了更高的灵活性和定制化的能力。因此,Seaborn 应该被视为 matplotlib 的补充,而非替代品。

官方地址:

 http://seaborn.pydata.org/seaborn: statistical data visualization — seaborn 0.13.2 documentation

安装: 

pip install seaborn

 二、应用

2.1、seaborn简单使用

import matplotlib.pyplot as plt
import seaborn as sns
sns.set()
plt.plot([1,5,10],[1,3,5])
plt.show()

2.2、内置数据集

        load_dataset()默认提供了数据集,方便测试图表的使用

"""从在线仓库加载示例数据集(需要互联网连接)。  

    此函数提供对少量示例数据集的快速访问,这些数据集对文档编写 Seaborn 或生成可重复的示例以进行错误报告非常有用。在正常使用中并不是必需的。  

    请注意,一些数据集会应用少量预处理,以确定分类变量的正确顺序。  

    使用 :func:`get_dataset_names` 查看可用数据集的列表。  

    参数  
    ----------  
    name : str  
        数据集名称(``{name}.csv`` 位于  
        https://github.com/mwaskom/seaborn-data)。  
    cache : boolean, optional  
        如果为 True,先尝试从本地缓存加载数据,如果需要下载则保存到缓存。  
    data_home : string, optional  
        用于缓存数据的目录;请参见 :func:`get_data_home`。  
    kws : 键值对,可选  
        额外的关键字参数将传递给 :func:`pandas.read_csv`。  

    返回  
    -------  
    df : :class:`pandas.DataFrame`  
        表格数据,可能会应用了一些预处理。  
"""
import seaborn as sns


data = sns.load_dataset('tips')
print(data)

注意:

        如果网络不好, 在

mwaskom/seaborn-data: Data repository for seaborn examples

可下载完整数据集

2.3、风格设置

        除了各种绘图方式外,图形的美观程度可能是我们最关心的了。将它放到第一部分,因为风格设置是一些通用性的操作,对于各种绘图方法都适用。

Seaborn 支持的风格有5种  
darkgrid 黑背景-白格
whitegrid  白背景-白格
dark  黑背景
white  白背景
ticks  

设置风格的方法:

  • set(style='')

  • set_style(value) 统一设置

  • axes_style(value) 单一设置

  • 2.3.1、whitegrid 

    import seaborn as sns
    from matplotlib import pyplot as plt
    import pandas as pd
    
    # data = sns.load_dataset('tips')
    data=pd.read_csv('tips.csv')
    
    sns.set_style('whitegrid')
    sns.barplot(x='sex', y='size', data=data)

    2.3.2、white

    import seaborn as sns
    from matplotlib import pyplot as plt
    import pandas as pd
    
    # data = sns.load_dataset('tips')
    data=pd.read_csv('tips.csv')
    
    sns.set_style('white')
    sns.barplot(x='sex', y='size', data=data)

    2.3.3、darkgrid

    import seaborn as sns
    from matplotlib import pyplot as plt
    import pandas as pd
    
    # data = sns.load_dataset('tips')
    data=pd.read_csv('tips.csv')
    
    sns.set_style('darkgrid')
    sns.barplot(x='sex', y='size', data=data)

    2.3.4、dark

    import seaborn as sns
    from matplotlib import pyplot as plt
    import pandas as pd
    
    # data = sns.load_dataset('tips')
    data=pd.read_csv('tips.csv')
    
    sns.set_style('dark')
    sns.barplot(x='sex', y='size', data=data)

    2.3.5、 ticks

    import seaborn as sns
    from matplotlib import pyplot as plt
    import pandas as pd
    
    # data = sns.load_dataset('tips')
    data=pd.read_csv('tips.csv')
    
    sns.set_style('ticks')
    sns.barplot(x='sex', y='size', data=data)

    2.3.6、第二种方法

    sns.set(style='whitegrid')
    sns.barplot(x='sex', y='size', data=data)

    2.3.7、第三种方法

    with sns.axes_style('darkgrid'):
      sns.lineplot(x='total_bill', y='tip', data=data)

    2.4、调色板

            颜色比图形样式的其他方面更重要,因为如果有效使用颜色可以更凸显示数据的结果与重要

            Seaborn可以轻松选择和使用适合您正在使用的数据类型的调色板以及您可视化的目标

    支持的方法

     
    color_palette() 能传入任何Matplotlib所支持的颜色
    color_palette() 不写参数则,默认颜色 deep, muted, pastel, bright, dark, colorblind
    color_palette() ["#9b59b6", "#3498db", "#95a5a6", "#e74c3c", "#34495e", "#2ecc71"]

    light_palette()

     

    dark_palette()

     
    set_palette() 设置所有图的颜色
    current_palette = sns.color_palette()
    sns.palplot(current_palette)

    current_palette = sns.color_palette('dark')
    sns.palplot(current_palette) #10个色块

    sns.palplot(sns.color_palette('hls',8))#8个颜色,色度比较亮

    sns.palplot(sns.color_palette('Blues'))

     

    sns.palplot(sns.color_palette('Greens_r'))

    sns.palplot(sns.light_palette('green'))

    sns.palplot(sns.dark_palette('purple'))

     

    xkcd_rgb 颜色 

            从xkcd_rgb这产生了一组颜色https://xkcd.com/color/rgb/,可以使用xkcd_rgb在seaborn中引用它们

    sns.xkcd_palette(['dark pink','algae','spring green','greyish blue'])
    

     

     

    作者:蹦蹦跳跳真可爱589

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python数据可视化之Seaborn库详解(入门篇:介绍与应用)

    发表回复