当前位置: 首页 > article >正文

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'])

 

 


http://www.kler.cn/a/578006.html

相关文章:

  • Redis--Hash类型
  • 13、JavaEE核心技术 - Servlet与JSP
  • Python基于Django的医用耗材网上申领系统【附源码、文档说明】
  • git 添加额外的远程仓库 URL
  • DeepSeek开源大模型的市场策略:真实目的解析
  • vulnhub靶场渗透之SickOs1.2渗透教程,计划任务提权、chkrootkit提权
  • CES Asia 2025增设未来办公教育板块,科技变革再掀高潮
  • 23种设计模式之 【建造者模式】
  • 理解梯度下降、链式法则、梯度消失/爆炸
  • 【Nest】文件下载——普通下载和流式下载
  • 从零开始训练小型语言模型之minimind
  • jQuery事件机制
  • 【橘子golang】从golang来谈闭包
  • Android WebSocket工具类:重连、心跳、消息队列一站式解决方案
  • 课题推荐——无人机在UWB环境下基于TOA/TDOA/AOA的室内定位与精度对比
  • ThinkPHP框架
  • 【够用就好008】开新坑自学esb32烧录进军物联网和嵌入式
  • PHP之常用函数
  • H5页面在移动端自动横屏
  • 开发环境搭建-03.后端环境搭建-使用Git进行版本控制