数据可视化(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.rhkb.cn/news/42566.html

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

相关文章

SpringBoot3解决跨域请求问题(同源策略、JSONP、CORS策略)(Access-Control-Allow-Origin)(2025详细教程)

目录 浏览器跨域请求问题。 浏览器同源策略。 第三方API调用。 前后端分离项目。 一、JSONP。&#xff08;dataType:jsonp&#xff09; &#xff08;1&#xff09;代码示例。 <1>前端ajax04.jsp页面。(发起Ajax请求) <2>后端springboot接口。(/hello)(返回JSONPObj…

rent8_wechat-新增提醒收租功能

本次更新中&#xff0c;rent8_wechat 小程序全新推出了“提醒收租”功能&#xff0c;为房东提供更加便捷的收租体验。房东只需在小程序内点击“提醒收租”按钮&#xff0c;系统便会在需要收租当天的上午9点准时推送通知&#xff0c;贴心提醒房东及时收取租金。 以下是该功能的…

诠视科技MR眼镜如何安装apk应用

诠视科技MR眼镜如何安装apk应用 1、使用adb工具安装1.1 adb工具下载1.2 解压adb文件1.3 使用adb安装apk 2、拷贝到文件夹安装 1、使用adb工具安装 1.1 adb工具下载 点击下面的链接开始下载adb工具&#xff0c;下载结束以后解压文件。 下载链接: https://download.xvisiotech…

JAVA学习*异常

什么是异常 在 Java 里&#xff0c;异常是指程序运行期间出现的不正常状况&#xff0c;它会中断程序的正常执行流程。 异常的分类 Java 中的异常是对象&#xff0c;这些对象都继承自 Throwable类。Throwable类有两个主要的子类&#xff1a;Error 和 Exception。 Error类表示…

DataGear 5.3.0 制作支持导出表格数据的数据可视化看板

DataGear 内置表格图表底层采用的是DataTable表格组件&#xff0c;默认并未引入导出数据的JS支持库&#xff0c;如果有导出表格数据需求&#xff0c;则可以在看板中引入导出相关JS支持库&#xff0c;制作具有导出CSV、Excel、PDF功能的表格数据看板。 在新发布的5.3.0版本中&a…

【电气设计】接地/浮地设计

在工作的过程中&#xff0c;遇到了需要测量接地阻抗的情况&#xff0c;组内讨论提到了保护接地和功能接地的相关需求。此文章用来记录这个过程的学习和感悟。 人体触电的原理&#xff1a; 可以看到我们形成了电流回路&#xff0c;导致触电。因此我们需要针对设备做一些保护设计…

【计算机操作系统】线程的概念和特点

1、什么是线程&#xff0c;为什么要引入线程&#xff1f; 还没引入进程之前&#xff0c;系统中各个程序只能串行执行。 比如&#xff1a;当我们在使用QQ与好友视频时&#xff0c;我们可以给其他好友发信息&#xff0c;发送文件...&#xff0c;我们知道进程是程序的一次执行&am…

【C++数据库】SQLite3数据库连接与操作

注意:本文代码均为C++20标准下实现 一、SQLite3库安装 1.1 安装库文件 【工具】跨平台C++包管理利器vcpkg完全指南 vcpkg install sqlite3# 集成至系统目录,之前执行过此命令的无需再次执行 vcpkg integrate install1.2 验证代码 在VS2022中新建控制台项目,测试代码如下…

CLion下载安装(Windows11)

目录 CLion工具下载安装其他 CLion CLion-2024.1.4.exe 工具 系统&#xff1a;Windows 11 下载 1.通过百度网盘分享的文件&#xff1a;CLion-2024.1.4.exe 链接&#xff1a;https://pan.baidu.com/s/1-zH0rZPCZtQ60IqdHA7Cew?pwdux5a 提取码&#xff1a;ux5a 安装 打开…

‘无法定位程序输入点kernel32.dll’详细的修复方法,一键快速修复kernel32.dll

在 Windows 系统运行过程中&#xff0c;若程序提示“无法定位程序输入点 kernel32.dll”&#xff0c;往往意味着程序调用了 kernel32.dll 中不存在或已变更的函数接口。作为系统的核心动态链接库&#xff0c;kernel32.dll 承担着内存管理、进程控制、文件操作等底层功能&#x…

二层综合实验

拓扑图 实验要求 1.内网IP地址使用172.16.6.0/16分配 2.sw1和sW2之间互为备份 3.VRRP/STP/VLAN/Eth-trunk均使用 4.所有Pc均通过DHCP获取IP地址 5.ISP只能配置IP地址 6.所有电脑可以正常访问IsP路由器环回 实验思路 这是一个二层综合实验每当拿到一个实验看清楚要求之后都有…

PS 切割图片

选择矩形工具绘制矩形 选中全部矩形&#xff0c;旋转一下角度 鼠标选中最下面的黄色图片&#xff0c;按住 Ctrl 键&#xff0c; 再用鼠标点击矩形的缩略图&#xff0c;选中选区&#xff0c;再按下 ctrlj &#xff0c;复制选区。 同样操作弄好其他的矩形选区&#xff0c;再删除…

项目管理证书 PMP 的含金量高吗?

一、国内PMP的含金量 1. 行业认可度 高需求行业&#xff1a;IT、通信、建筑、制造、金融等行业对PMP认可度较高&#xff0c;尤其是跨国企业、大型国企&#xff08;如华为、阿里、腾讯、中建等&#xff09;常将PMP作为项目经理岗位的优先录用条件。 招聘门槛&#xff1a;部分企…

旅游CMS选型:WordPress、Joomla与Drupal对比

内容概要 在旅游行业数字化转型进程中&#xff0c;内容管理系统&#xff08;CMS&#xff09;的选择直接影响网站运营效率与用户体验。WordPress、Joomla和Drupal作为全球主流的开源CMS平台&#xff0c;其功能特性与行业适配性存在显著差异。本文将从旅游企业核心需求出发&…

LeetCode349两个数组的交集

思路&#xff1a; 这个题目是查找交集&#xff0c;考虑用哈希数组&#xff0c;c语言用数组建立哈希表来解题&#xff0c;题目限定了数组长度在1000以内&#xff0c;那么可以设定一个result数组用于存储交集 1.我们需要将nums1映射到哈希表中 2.遍历nums2查询哈希表中是否存在该…

安装教程:windows上安装oracle详细教程

文章目录 前言一、下载 Oracle 安装包二、安装步骤三、连接ORACLE可视化工具1.1 PL/SQL Developer1.2 navicat 结束语优质源码分享 windows上安装oracle详细教程&#xff0c;在Windows上安装Oracle数据库需遵循以下步骤&#xff1a;首先&#xff0c;从官网下载对应版本的Oracle…

4、网工软考—VLAN配置—hybird配置

1、实验环境搭建&#xff1a; 2、实验过程 SW1&#xff1a; 先创建vlan2和vlan3 [Huawei-Ethernet0/0/2]port link-type hybrid //hybird端口 [Huawei-Ethernet0/0/2]port hybrid pvid vlan 2 [Huawei-Ethernet0/0/2]port hybrid untagged vlan 10 //撕掉vlan10的标签 …

平台清洗行动:AI浏览器用户生存率高出传统方案17倍

平台清洗行动&#xff1a;AI 浏览器用户生存率高出传统方案 17 倍 在这个数字化时代&#xff0c;网络环境的复杂性不断增加&#xff0c;用户在浏览网页时面临着各种风险&#xff0c;包括恶意软件、钓鱼攻击和隐私泄露等。为了应对这些挑战&#xff0c;AI 浏览器应运而生&#…

【C++篇】C++入门基础(一)

&#x1f4ac; 欢迎讨论&#xff1a;在阅读过程中有任何疑问&#xff0c;欢迎在评论区留言&#xff0c;我们一起交流学习&#xff01; &#x1f44d; 点赞、收藏与分享&#xff1a;如果你觉得这篇文章对你有帮助&#xff0c;记得点赞、收藏&#xff0c;并分享给更多对C感兴趣的…

MaskFormer语义分割算法测试

MaskFormer是一套基于transformer结构的语义分割代码。 链接地址&#xff1a; https://github.com/facebookresearch/MaskFormer/tree/main 测试用的数据集&#xff1a;ADE20k Dataset MIT Scene Parsing Benchmark 该数据集可通过上述链接下载&#xff0c;其中training含有…