数据可视化(matplotlib)-------图表样式美化

目录

一、图表样式概述

(一)、默认图表样式

 (二)、图表样式修改

1、局部修改

2、全局修改

二、使用颜色

(一)、使用基础颜色

1、单词缩写或单词表示的颜色

2、十六进制/HTML模式表示的颜色

3、RGB模式表示的颜色

(二)、使用颜色映射表

三、选择线型

 选择线条的类型

四、添加数据标记

(一)、添加折线图或散点图的数据标记

1、marker参数

(二)、格式字符串

五、设置字体

设置字体样式

六、切换主题风格

use()函数-----切换图表的主题风格 

 use(style)

七、填充区域

填充多边形或曲线之间的区域

1、fill()

2、fill_between()

3、fill_betweenx()


一、图表样式概述

(一)、默认图表样式

matplotlib在绘图的过程中会读取存储在本地的配置文件matplotlibrc,通过matplotlibrc文件中的缺省配置信息指定图表元素的默认样式完成图表元素样式的初始设置

通过rc_params()函数可以查看matplotlibrc文件中全部的配置项

配置项按照作用对象的不同主要分为10种配置要素:

 (二)、图表样式修改

图表的样式可以通过两种方式进行修改:局部修改全局修改

1、局部修改

局部修改的方式是指通过代码动态地修改matplotlib配置项,此方式用于程序局部定制的需求。若希望局部修改图表的样式,可以通过以下任一种方式实现

1通过给绘图函数或设置图表元素函数的关键字参数传值来修改图表的样式。

2通过“rcParams[配置项]”重新为配置项赋值来修改图表的样式。

3通过给rc()函数的关键字参数传值来修改图表的样式。

1种方式只能对某一图表中指定元素的样式进行修改,而第2种和第3种方式可以对整个py文件中指定元素的样式进行修改

2、全局修改

全局修改的方式是指直接修改matplotlibrc文件的配置项,此方式用于满足程序全局定制的需求,可以将指定的图表样式进行统一修改,无需每次在具体的程序中进行单独修改。 matplotlib使用matplotlibrc文件的路径搜索顺序

当前工作路径 :程序运行的目录。
用户配置路径 :通常位于 HOME/.matplotlib/ 目录中,可以通过环境变量 MATPLOTLIBRC 进行修改。
系统配置路径 :位于 matplotlib 安装路径的 mpl-data 目录中。

matplotlib_fname()函数查看当前使用的matplotlibrc文件所在的路径

二、使用颜色

(一)、使用基础颜色

matplotlib的基础颜色主要有3种表示方式:单词缩写或单词十六进制或HTML模式RGB模式

1、单词缩写或单词表示的颜色

matplotlib中支持使用单词缩写或单词表示的8种颜色:青色、洋红色、黄色、黑色、红色、绿色、蓝色、白色

2、十六进制/HTML模式表示的颜色

matplotlib支持使用十六进制或HTML/CSS的形式表示更多的颜色,它将这些颜色存储在colors.cnames字典中,可通过访问colors.cnames字典查看全部的颜色

3RGB模式表示的颜色

matplotlib支持使用RGB模式的三元组表示颜色,其中元组的第1个元素代表红色值,第2个元素代表绿色值,第3个元素代表蓝色值,且每个元素的取值范围均是[0,1]

color = (0.3, 0.3, 0.4)

(二)、使用颜色映射表

通过 colormaps() 函数可以查看所有可用的颜色映射表。
import matplotlib.pyplot as plt
plt.colormaps()

颜色映射表分类: 

Sequential :表示同一颜色从低饱和度到高饱和度的单色颜色映射表。
Diverging :表示颜色从中间的明亮色过渡到两个不同颜色范围方向的颜色映射表。
Qualitative :表示可以轻易区分不同种类数据的颜色映射表。

 可以通过matplotlib.cm.register_cmap()函数将自定义的颜色映射表添加到matplotlib中。

 

三、选择线型

 选择线条的类型

图表中每个线条均具有不同的含义,一般可以通过颜色、宽度、类型来区分线条,其中类型是区分线条的常见方式之一。

matplotlib中内置了4种线条的类型:短虚线点划线长虚线实线

在使用pyplot绘制折线图、显示网格或添加参考线时,可以将线型取值传递给linestylels参数,以选择其它的线条类型。

plt.plot([1, 2, 3], [3, 4, 5], linestyle='--')
plt.plot([1, 2, 3], [3, 4, 5], ls='--')

四、添加数据标记

数据标记一般指代表单个数据的圆点或其它符号等,用于强数据点的位置,常见于折线图和散点图中。

(一)、添加折线图或散点图的数据标记

数据标记可以分为填充型数据标记非填充型数据标记

1、marker参数

在使用pyplotplot()scatter()函数绘制折线图或散点图时,可以将标记取值传递给marker参数,从而为折线图或散点图添加数据标记。

plt.plot([1, 2, 3], [3, 4, 5], marker='*')

(二)、格式字符串

matplotlib在绘制折线图时,可以使用字符串分别为线条指定颜色、线型和数据标记这三种样式,但每次都需要分别给参数colorlinestylemarker传值进行一一设置,使得编写的代码过于繁琐。为此,matplotlib提供了由颜色、标记、线型构成的格式字符串

格式字符串是快速设置线条基本样式的缩写形式的字符串。

'[颜色][标记][线型]'

以上格式的每个选项都是可选的,选项之间组合的顺序也是可变的。
颜色只能是字母缩写方式表示的颜色。
若格式字符串中只有颜色一个选项,可以使用十六进制、单词拼写等其它形式表示的颜色。
plt.plot([1, 2, 3], [3, 4, 5], 'mo--')

五、设置字体

设置字体样式

matplotlib中文本是text模块的Text类对象,可以通过之前介绍的text()annotate()title()等函数进行创建。Text类中提供了一系列设置字体样式的属性,包括字体类别、字体大小、字体风格、字体角度等

也可以作为text()annotate()title()函数的同名关键字参数,以便用户在创建文本的同时设置字体的样式。

六、切换主题风格

matplotlib.style模块中内置了一些图表的主题风格,通过切换不同的主题风格以满足用户的不同需求。

所有的主题风格都存储于matplotlib配置文件夹的stylelib目录中,可以通过访问available变量查看所有可用的主题风格

import matplotlib.style as ms
print(ms.available)

use()函数-----切换图表的主题风格 

 use(style)

以上函数的参数style表示图表的主题风格,它可以接收matplotlib中所有可用的主题风格的字符串,也可以接收“default”来恢复默认的主题风格

七、填充区域

matplotlib中提供了多个函数用于填充多边形或区域,分别为fill()fill_between()fill_betweenx(),其中fill()函数用于填充多边形,fill_between()fill_betweenx()函数分别用于填充两条水平曲线或垂直曲线之间的区域。

填充多边形或曲线之间的区域

1、fill()

fill(*args, data=None, facecolor, edgecolor, linewidth, **kwargs)

*args:表示x坐标、y坐标或颜色的序列。

acecolor:表示填充的背景颜色

edgecolor:表示边框的颜色

linewidth:表示边框的宽度。

2、fill_between()

fill_between(x, y1, y2=0, where=None, interpolate=False, step=None,  data=None, **kwargs)

 x:表示x坐标的序列。

y1:表示第一条曲线的y坐标

y2:表示第二条曲线的y坐标

where:布尔值,表示要填充区域的条件

y1>y2说明第一条曲线位于第二条曲线上方时填充;y1<y2说明第二条曲线位于第一条曲线上方时填充

3、fill_betweenx()

fill_betweenx(y, x1, x2=0, where=None, step=None, interpolate=False, data=None, 

**kwargs)

 y:表示y坐标的序列。

x1:表示第一条曲线的x坐标

x2:表示第二条曲线的x坐标

where:布尔值,表示要填充区域的条件

x1>x2说明第一条曲线位于第二条曲线右方时填充;y1<y2说明第二条曲线位于第一条曲线右方时填充。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/899712.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

202518 | Ngnix

Ngnix是什么 Nginx&#xff08;发音为“engine-x”&#xff09;是一个开源的高性能HTTP服务器、反向代理服务器、负载均衡器和邮件代理服务器。它由俄罗斯程序员Igor Sysoev开发&#xff0c;首次发布于2004年&#xff0c;旨在解决C10K问题&#xff08;即如何高效地处理10,000个…

WP Mail 邮件发送:WordPress Mail SMTP设置

在我们WordPress搭建个人网站完成后&#xff0c;读者或者客户发送的电子邮件&#xff0c;包括你的WPForms电子邮件通知&#xff0c;如果无法到达预定收件人收件箱&#xff0c;这会对我们网站的运营造成很大的影响&#xff0c;问题在于WordPress Mail SMTP的发送方式。 SMTP&am…

小智机器人关键函数解析:MqttProtocol::SendAudio()对输入的音频数据进行加密处理,通过UDP发送加密后的音频数据

MqttProtocol::SendAudio()对输入的音频数据进行加密处理&#xff0c;通过UDP发送加密后的音频数据。 源码&#xff1a; void MqttProtocol::SendAudio(const std::vector<uint8_t>& data) {// 使用互斥锁保护临界区&#xff0c;确保同一时间只有一个线程可以访问该…

Hadoop 常用命令集总览

Hadoop 常用命令集总览 在大数据处理领域&#xff0c;Hadoop 作为一种广泛应用的分布式系统基础架构&#xff0c;其重要性不言而喻。熟练掌握 Hadoop 的常用命令对于高效的数据处理和分析工作至关重要。本文将对 Hadoop 的常用命令进行专业而详尽的列举&#xff0c;并结合实例进…

mac m4 Homebrew安装MySQL 8.0

1.使用Homebrew安装MySQL8 在终端中输入以下命令来安装MySQL8&#xff1a; brew install mysql8.0 安装完成后&#xff0c;您可以通过以下命令来验证MySQL是否已成功安装&#xff1a; 2.配置mysql环境变量 find / -name mysql 2>/dev/null #找到mysql的安装位置 cd /op…

GoLand 2024.3 中文 GO语言开发工具

GoLand 2024.3 中文 GO语言开发工具 文章目录 GoLand 2024.3 中文 GO语言开发工具一、介绍二、效果三、下载 一、介绍 JetBrains GoLand 2024 &#xff0c;是一款GO语言开发工具&#xff0c;全行代码补全&#xff1a;能使用本地运行的上下文感知深度学习模型&#xff0c;可以自…

Excel去掉单元格里面的换行的方法

方法一&#xff1a;使用“查找和替换”功能 ‌选中单元格‌&#xff1a;首先选中需要替换换行符的单元格或区域。 ‌打开替换窗口‌&#xff1a;按下“CtrlH”快捷键&#xff0c;打开“查找和替换”对话框。 ‌输入换行符‌&#xff1a; 在“查找内容”框中&#xff0c;你可…

React 中的 Props

Props&#xff08;Properties 的缩写&#xff09;是 React 中用于组件间通信的核心机制。它们允许数据从父组件单向传递到子组件。Props 是 React 组件不可变&#xff08;只读&#xff09;的输入参数&#xff0c;这种特性使得组件更加可预测且易于维护。 Props 的核心特性 单…

基于简单神经网络的线性回归

一、概述 本代码实现了一个简单的神经网络进行线性回归任务。通过生成包含噪声的线性数据集&#xff0c;定义一个简单的神经网络类&#xff0c;使用梯度下降算法训练网络以拟合数据&#xff0c;并最终通过可视化展示原始数据、真实线性关系以及模型的预测结果。 二、依赖库 …

‌19.思科路由器:OSPF协议引入直连路由的实验研究

思科路由器:OSPF协议引入直连路由的实验研究 一、实验拓扑二、基本配置2.1、sw1的配置2.2、开启交换机三层功能三、ospf的配置3.1、R1的配置3.2、R2的配置3.3、重启ospf进程四、引入直连路由五、验证结果随着互联网技术的不断发展,路由器作为网络互联的关键设备,其性能与稳定…

USB——删除注册表信息

文章目录 背景工具下载地址工具使用删除注册表信息背景 注测表中已记录这个设备的信息,但现在设备描述符又指定为了 WinUSB 设备,所以当设备再次插入的时候,不会发送 0xEE 命令,造成了枚举失败。 两种处理方式: 修改枚举时候的 VID/PID删除 USB 的注册表信息工具下载地址…

如何快速解决django报错:cx_Oracle.DatabaseError: ORA-00942: table or view does not exist

我们在使用django连接oracle进行编程时&#xff0c;使用model进行表映射对接oracle数据时&#xff0c;默认表名组成结构为&#xff1a;应用名_类名&#xff08;如&#xff1a;OracleModel_test&#xff09;&#xff0c;故即使我们库中存在表test&#xff0c;运行查询时候&#…

从 0 到跑通的 Qt + OpenGL + VS 项目的完整流程

&#x1f9e9; 全流程目标&#xff1a; 在 Visual Studio 中成功打开、编译并运行一个 Qt OpenGL 项目&#xff08;.vcxproj 格式&#xff09; ✅ 第 1 步&#xff1a;安装必要环境 工具说明Visual Studio 2017 / 2019 / 2022必须勾选 “使用 C 的桌面开发” 和 “MSVC 工具…

鸿蒙开发03样式相关介绍(二)

文章目录 一、样式复用1.1 Styles修饰符1.2 Extend修饰符 二、多态样式 一、样式复用 在页面开发过程中&#xff0c;会出出现大量重复的样式设置代码&#xff0c;可以使用Styles和Extend修饰符将帮助我们进行样式复用。 1.1 Styles修饰符 Styles装饰器可以将多条样式设置提炼…

装饰器模式与模板方法模式实现MyBatis-Plus QueryWrapper 扩展

pom <dependency><groupId>com.github.yulichang</groupId><artifactId>mybatis-plus-join-boot-starter</artifactId> <!-- MyBatis 联表查询 --> </dependency>MPJLambdaWrapperX /*** 拓展 MyBatis Plus Join QueryWrapper 类&…

05-031-自考数据结构(20331)- 哈希表 - 例题分析

哈希表考题主要涵盖四大类型:1)函数设计类(如除留余数法计算地址,需掌握质数p的选择技巧);2)冲突处理类(线性探测法要解决堆积现象,链地址法需绘制链表结构);3)性能分析类(重点计算ASL,理解装填因子α的影响规律);4)综合应用类(如设计ISBN查询系统,需结合实际问…

rustdesk 自建服务器 key不匹配

请确保id_ed25519文件的权限为&#xff1a; -rw------- 1 root root 88 Apr 31 10:02 id_ed25519在rustdesk安装目录执行命令&#xff1a; chmod 700 id_ed25519

Dify 深度集成 MCP实现灾害应急响应

一、架构设计 1.1 分层架构 #mermaid-svg-5dVNjmixTX17cCfg {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-5dVNjmixTX17cCfg .error-icon{fill:#552222;}#mermaid-svg-5dVNjmixTX17cCfg .error-text{fill:#552222…

AI与.NET技术实操系列(三):在 .NET 中使用大语言模型(LLMs)

1. 引言 在技术迅猛发展的今天&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;已成为人工智能领域的核心驱动力之一。从智能对话系统到自动化内容生成&#xff0c;LLMs的应用正在深刻改变我们的工作与生活方式。对于.NET开发者而言&#xff0c;掌…

一个极简的词法分析器实现

文章目录 推荐&#xff1a;Tiny Lexer - 一个极简的C语言词法分析器特点核心代码实现学习价值扩展建议 用Java实现一个简单的词法分析器完整实现代码代码解析示例输出扩展建议 用Go实现极简词法分析器完整实现代码代码解析示例输出扩展建议 最近两天搞一个DSL&#xff0c;不得不…