【matplotlib】可视化解决方案——如何设置轴标签的透明度和大小

news2024/12/28 3:12:42

概述

Axes 标签对于读者理解图表非常重要,它描述了图表中展现的数据内容。通过向 axes 对象添加标签,可以有效理解图表所表达的内容。首先来了解一下 matplotlib 是如何组织图表的。最上层是一个 Figure 实例,包含绘图中所有可见和不可见的内容。Figure 实例包含了一个 Axes 实例字段 Figure. Axes,该实例包含了所有绘图相关的东西,如所有的线、点、刻度和标签。举一个例子,调用 pyplot.plot(),就会向 【Axes. Lines】 列表中添加一个 Line2D 对象;调用 pyplot.plot() 方法就会向 【Axes. Patches】 列表中添加绘制的多个 patches 对象(patches 可以理解是一个用颜色填充的图形对象)。

Axes 实例也包含了 XAxis 和 YAxis 实例,分别对应 X 轴和 Y 轴,XAxis 和 YAxis 管理着坐标轴、标签、刻度、刻度标签定位器和格式器,在实际使用中不用使用 Axes.xaxis()Axes.yaxis 调用坐标轴实例,matplotlib 提供了一个 helper 方法来控制这些标签,即 pyplot.xlabel()plt.ylabel()

示例

接下来我们以一个示例来演示一下,在下面的代码中我们做了以下事项:

  1. 添加标题和 axes 标签;
  2. 添加标题和 axes 的阴影效果;
  3. 设置透明度。
import matplotlib.pyplot as plt  
from matplotlib import patheffects  
import numpy as np  
  
# 初始化数据  
data = np.random.randn(70)  
  
# 默认字体大小  
DEFAULT_FONT_SIZE = 18  
# 默认offset  
DEFAULT_OFFSET_XY = (1, -1)  
# 默认颜色  
DEFAULT_RGB_COLOR = (1.0, 0.0, 0.0)  
# 默认透明度  
DEFAULT_ALPHA = 0.8  
  
plt.plot(data)  
  
title = "Figure Title"  
x_label = "X Axis"  
y_label = "Y_axis"  
  
title_text_obj = plt.title(title, fontsize=DEFAULT_FONT_SIZE, verticalalignment="bottom")  
title_text_obj.set_path_effects([patheffects.withSimplePatchShadow()])  
pe = patheffects.withSimplePatchShadow(offset=DEFAULT_OFFSET_XY, shadow_rgbFace=DEFAULT_RGB_COLOR,  
                                       alpha=DEFAULT_ALPHA)  
  
xlabel_obj = plt.xlabel(x_label, fontsize=DEFAULT_FONT_SIZE, alpha=0.5)  
xlabel_obj.set_path_effects([pe])  
  
ylabel_obj = plt.ylabel(y_label, fontsize=DEFAULT_FONT_SIZE, alpha=0.5)  
ylabel_obj.set_path_effects([pe])  
  
plt.show()

绘图结果如下:

在这里插入图片描述

在上面的代码中有几点需要强调。路径阴影(path effects)是 matplotlib.patheffects 模块的部分内容,在 matplotlib 中 Text 类实例以及 Patch 类实例都支持设置阴影效果,这些类将会在我的另一个专栏可视化之路将会详细介绍。在设置文字属性时,一般传递一个字典 FontDict,而不是向上面的事例中那样仅仅传递一个 fontsize,做好封装是十分重要的,这会让代码具有可读性。Matplotlib 调用 helper 函数都会返回相应的实例,例如调用 pyplot.xlabel()pyplot.ylabel() 会返回 Text 实例。

往期回顾

  1. 【matplotlib】可视化解决方案——如何向图表中添加数据表
  2. 【matplotlib】可视化解决方案——如何更改绘图区域背景颜色
  3. 【matplotlib】可视化解决方案——如何使用数学公式
  4. 【matplotlib】可视化解决方案——绘图刻度设置
  5. 【matplotlib】可视化解决方案——共享绘图区域问题
  6. 【matplotlib】可视化解决方案——子图设置大标题问题解决方案
  7. 【matplotlib】可视化解决方案——子图间距问题解决方案
  8. 【matplotlib】可视化解决方案——capstyle参数详解
  9. 【matplotlib】可视化解决方案——joinstyle参数详解
  10. 【matplotlib】可视化解决方案——linestyle参数详解
  11. 【matplotlib】可视化解决方案——柱状图标注问题
    在这里插入图片描述

文中难免会出现一些描述不当之处(尽管我已反复检查多次),欢迎在留言区指正,相关的知识点也可进行分享,希望大家都能有所收获!!如果觉得我的文章写得还行,不妨支持一下。你的每一个转发、关注、点赞、评论都是对我最大的支持!

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

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

相关文章

北斗导航 | 2023 PTTI会议论文 2023 ITM会议论文 2022 ION GNSS+ 会议论文下载:ION 美国导航学会

===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 2023 PTTI会议论文 2023 ITM会议论文 2022 ION GNSS+ 论文下载百度云链…

Teradata当年数据仓库的“一哥”为何突然退出中国市场:苦撑了3年,员工早有预料

2月15日,Teradata天睿公司官宣即将撤离中国市场。 又是一个艰难的决定,听着似乎很熟悉。Teradata为什么突然宣布结束在中国的直营?其实,回顾Teradata在中国市场的发展状况,一点也不突然。 多年前,我曾经与…

Excel表格自动转Json数据

Excel表格转JSON格式在实际工作中,我们常常使用Excel记录各种数据,但在各种应用系统传输数据却使用JSON格式,这就需要把Excel转为JSON。如果能把数据转换传输过程自动化就更完美了。Excel转JsonXX公司生产日报表为例,生产工人用Ex…

JSR303基本使用以及整合springboot统一异常处理

目录 一、前言 什么是JSR303 二、JSR303基本使用(普通使用) 1)、引入jar包 2)、实体类对需要校验的数据进行校验 3)、对前端传递过来的参数进行限制 三、JSR303基本使用(分组校验) 1)、创建分组 2)…

leaflet 根据两个坐标值,设置arc弧线和Marker(079)

第069个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中根据提供的两个点,绘制出marker,同时将两点间绘制出一条弧线。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共88行)安装插件相关API参考…

最全面的SpringBoot教程(六)——SpringBoot运行原理分析

前言 本文为 最全面的SpringBoot教程(六)——SpringBoot运行原理分析 相关知识,下边将对SpringBoot运行原理以及自动配置原理进行详尽的分析介绍~ 📌博主主页:小新要变强 的主页 👉Java全栈学习路线可参考…

计算机网络 物理层

1,物理层的基本概念 物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。现有的计算机网络中的硬件设备和传输媒体的种类非常繁多,而通信手段也有许多不同方式。物理层的作用正是要尽可能地屏蔽掉这…

【ts + webpack】贪吃蛇小游戏

目录 一、项目搭建 1.1 初始化项目 二、项目界面布局 三、完成Food类 四、完成记分牌类 五、初步完成snake类 六、创建游戏控制器类 - 键盘事件 七、GameControl - 使蛇移动 八、蛇撞墙和吃食检测 一、项目搭建 1.1 初始化项目 1.使用init命令生成package.json文件 …

日期时间控件my97初步探索

因为要写period entry 的项目,需要Report StartDate 和 Report EndDate,于是乎咨询前端同学,推荐my97 官方网站 http://www.my97.net/ 确实有点看起来古老的网站 点击下载能够下载包的资源,以及示例文件 demo示例、Api等 http…

Vue3使用Echarts实现自定义地图(使用阿里云数据可视化平台)

Vue3使用Echarts实现自定义地图 1.获取地图JSON文件 推荐使用 阿里云数据可视化平台 选择你想要使用地图区域并下载JSON文件 2.把地图JSON文件引入Vue3项目中 放在src/assets中 引入你想要使用地图的组件中 3.使用Echarts创建地图 准备地图容器 <template> <…

链路聚合基本概念

聚合组&#xff08;Link Aggregation Group&#xff0c;LAG&#xff09;&#xff1a;若干条链路捆绑在一起所形成的的逻辑链路。每个聚合组唯一对应着一个逻辑接口&#xff0c;这个逻辑接口又被称为链路聚合接口或Eth-Trunk接口。成员接口和成员链路&#xff1a;组成Eth-Trunk接…

win11/10+Azure kinect DK配置 VS2019/2017/2015的方法(简单,亲测可以)

首先下载文件&#xff1a;文件的下载和安装方法参考我的博客(131条消息) WIN11/win10Azure Kinect DK详细驱动配置教程&#xff08;亲测&#xff09;_Vertira的博客-CSDN博客安装好VS2019,创建好控制台c工程。这些都很简单&#xff0c;不细说。配置&#xff1a;首先配置环境变量…

如何快速掌握DDT数据驱动测试?

如何快速掌握DDT数据驱动测试&#xff1f; 目录&#xff1a;导读 前言 实施数据驱动步骤 数据驱动测试环境准备 测试步骤 数据存储 数据存在当前脚本中 json文件读取测试数据进行数据驱动测试 从xml读取数据进行数据驱动测试 总结 写在最后 前言 网盗概念相同的测试…

《Linux运维实战:Centos7.6基于docker-compose一键离线部署rabbitmq3.9.16+haproxy镜像模式高可用负载均衡集群》

一、部署背景 由于业务系统的特殊性&#xff0c;我们需要面向不通的客户安装我们的业务系统&#xff0c;而作为基础组件中的重要的一环&#xff0c;我们需要针对不同的客户环境需要多次部署 rabbitmq镜像模式高可用负载均衡集群&#xff0c;作为一个运维工程师&#xff0c;提升…

LeetCode 793. 阶乘函数后 K 个零

f(x) 是 x! 末尾是 0 的数量。回想一下 x! 1 * 2 * 3 * ... * x&#xff0c;且 0! 1 。 例如&#xff0c; f(3) 0 &#xff0c;因为 3! 6 的末尾没有 0 &#xff1b;而 f(11) 2 &#xff0c;因为 11! 39916800 末端有 2 个 0 。 给定 k&#xff0c;找出返回能满足 f(x) …

Django框架之类视图

类视图 思考&#xff1a;一个视图&#xff0c;是否可以处理两种逻辑&#xff1f;比如get和post请求逻辑。 如何在一个视图中处理get和post请求 注册视图处理get和post请求 以函数的方式定义的视图称为函数视图&#xff0c;函数视图便于理解。但是遇到一个视图对应的路径提供…

【Vue/基础知识】Vue基础知识(一)

如果觉得我的分享有一定帮助&#xff0c;欢迎关注我的微信公众号 “码农的科研笔记”&#xff0c;了解更多我的算法和代码学习总结记录。或者点击链接扫码关注 【Vue/基础知识】Vue基础知识&#xff08;一&#xff09; 1、v-show 和 v-if 指令的共同点和不同点&#xff1f; 共…

【建议收藏】2023年最新最全PMP 报考条件和流程在这里!

PMP考试是由美国项目管理协会PMI发起的项目管理专业人士资格认证考试&#xff0c;在中国国内由中国国际人才交流基金会举办考试&#xff0c;考生在报名参加PMP考试前了解下PMP考试报名条件和流程是必须要做的功课&#xff0c;下面我为大家详细介绍2023年PMP考试报名条件和流程&…

音频信号处理笔记(二)

文章目录1.1.3 过零率1.1.4 谱质心和子带带宽1.1.5 短时傅里叶分析法1.1.6 小波变换相关课程&#xff1a; 音频信号处理及深度学习教程傅里叶分析之掐死教程&#xff08;完整版&#xff09;更新于2014.06.06 - 知乎 (zhihu.com)1.1.3 过零率 过零率&#xff1a;是一个信号符号…

[软件工程导论(第六版)]第7章 实现(复习笔记)

文章目录7.1 编码7.2 软件测试基础7.2.1 软件测试的目标7.2.2 软件测试的准则7.2.3 测试方法7.2.4 测试步骤7.2.5 测试阶段的信息流7.3 单元测试&#xff08;模块测试&#xff09;7.4 集成测试7.5 确认测试&#xff08;验收测试&#xff09;7.6 白盒测试技术7.7 黑盒测试技术7.…