Seaborn数据可视化(二)

news/2024/12/23 6:26:54/

目录

1.Seaborn风格设置

1.1 主题设置

1.2 轴线设置

 1.3 移除轴线

 1.4 使用字典传递函数

 2.设置绘图元素比例

2.1 设置绘图元素比例paper

2.2 设置绘图元素比例poster

2.3 设置绘图元素比例notebook


Seaborn将Matplotlib的参数划分为两个独立的组合,第一组用于设置绘图的外观风格,第二组用于将绘图的各种元素按比例缩放。控制这些参数的接口主要有两对方法:

  • 控制风格:axes_style(),set_style();
  • 缩放绘图:plotting_context(),set_context()。

1.Seaborn风格设置

1.1 主题设置

set_style()用于设置主题,Seaborn有5个预设的主题,以下是这5个预设主题的简要介绍:

  • “darkgrid”:深色网格主题,具有灰色背景和暗色网格线,在绘制时可以提供良好的对比度和可读性。

  • “whitegrid”:白色网格主题,类似于"darkgrid",但背景是白色的,适用于需要明亮背景的情况。

  • “dark”:深色背景主题,具有漆黑的背景和浅色文本,适用于在黑暗环境中查看图形。

  • “white”:白色背景主题,与"dark"相反,具有白色背景和深色文本,适用于明亮的环境。

  • “ticks”:轴刻度线主题,具有刻度线和标签,适用于显示轴上的刻度线和标签。

import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
def sinplot(flip = 2):x = np.linspace(0,20, 50)for i in range(1,5):plt.plot(x, np.cos(x + i * 0.8) * (9 - 2*i) * flip)
sinplot()sns.set_style("white") #设置主题 
sinplot()

结果图:

1.2 轴线设置

sinplot()
sns.despine(offset = 20, trim = True)

 sns.despine()是seaborn库中的一个函数,用于移除绘图中的轴线(spines)。该函数提供了一些参数来控制轴线的移除方式。其中,offset参数用于调整轴线和绘图区域的距离,trim参数用于控制是否根据实际的数据范围截取轴线。

结果图: 

 1.3 移除轴线

sinplot()
sns.despine(left = True,bottom = True)

结果图:

 1.4 使用字典传递函数

sns.set_style("darkgrid", {"axes.facecolor": ".9"})
sinplot()

结果图:

 2.设置绘图元素比例

2.1 设置绘图元素比例paper

sns.set_context("paper")
sinplot()

结果图:

2.2 设置绘图元素比例poster

sns.set_context("poster")
sinplot()

结果图:

2.3 设置绘图元素比例notebook

sns.set_context("notebook", font_scale = 1.8, rc = {"lines.linewidth": 1.5})
sinplot()

结果图:

 



http://www.ppmy.cn/news/1047861.html

相关文章

04_18内存反碎片技术,什么时候适合进行内存碎片整理

前言 内存碎片分为内部碎片和外部碎片,内部碎片指内存页里面的碎片,外部碎片指空闲的内存页分散,很难找到一组物理地址连续的空间内存页,无法满足超过一页的内存分配请求。 虚拟可移动区域 可移动区域(ZONE_MOVABLE…

LLM提示词工程和提示词工程师Prompting and prompt engineering

你输入模型的文本被称为提示,生成文本的行为被称为推断,输出文本被称为完成。用于提示的文本或可用的内存的全部量被称为上下文窗口。尽管这里的示例显示模型表现良好,但你经常会遇到模型在第一次尝试时无法产生你想要的结果的情况。你可能需…

GO学习之 数据库(Redis)

GO系列 1、GO学习之Hello World 2、GO学习之入门语法 3、GO学习之切片操作 4、GO学习之 Map 操作 5、GO学习之 结构体 操作 6、GO学习之 通道(Channel) 7、GO学习之 多线程(goroutine) 8、GO学习之 函数(Function) 9、GO学习之 接口(Interface) 10、GO学习之 网络通信(Net/Htt…

Java 的动态代理如何实现?

目录 面试回答 知识扩展 静态代理和动态代理的区别 动态代理的用途 Spring AOP 的实现方式 JDK 动态代理的代码段 Cglib 动态代理的代码段 面试回答 在 Java 中,实现动态代理有两种方式: JDK 动态代理:java.lang.reflect包中的 Proxy …

5.1 webrtc线程模型

那从今天开始呢?我们来了解一下y8 tc线程相关的内容,那在开始之前呢?我们先来看一下,我们本章都要讲解哪些知识? 那第一个呢?是线程的基础知识,这块内容呢?主要是为大家做一下回顾&a…

chatGPT-对话爱因斯坦

引言 阿尔伯特爱因斯坦( 1879年 3 月 14 日 – 1955 年 4 月 18 日)是一位出生于德国的理论物理学家,被广泛认为成为有史以来最伟大、最有影响力的科学家之一。他以发展相对论而闻名,他还对量子力学做出了重要贡献,因…

UE4/5数字人MetaHuman的控制绑定资产使用

目录 开始操作 找到控制绑定资产 放入控制绑定资产 ​编辑 生成动画资产 开始操作 首先我们创建一个关卡序列: 打开后将我们的数字人放进去【右键,第一个添加进去】: 我们会自动进入动画模式,没有的话,就自己…

Mac上传项目源代码到GitHub的修改更新

Mac上传项目源代码到GitHub的修改更新 最近在学习把代码上传到github,不得不说,真的还挺方便 这是一个关于怎样更新项目代码的教程。 首先,在本地终端命令行打开至项目文件下第一步:查看当前的git仓库状态,可以使用git…