python数据可视化开发:Matplotlib库参数配置基础知识

news2025/1/12 20:10:11

文章目录

  • 前言
  • 01.工具栏组件
  • 02.数据
  • 03.设置字体字典
    • (1)全局字体样式
    • (2)常用中文字体对应名称
    • (3)查询当前系统所有字体
  • 04.图像配置实例
  • 05.图表标题
  • 06.文本组件
  • 07.坐标轴标签组件
  • 08.网格组件
  • 09.绘制折线
  • 10.图例组件
  • 11.图表渲染
  • 总结


前言

在这里插入图片描述

  • Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。
  • Matplotlib 可以用来绘制各种静态,动态,交互式的图表。
  • Matplotlib 是一个非常强大的 Python 画图工具,我们可以使用该工具将很多数据通过图表的形式更直观的呈现出来。
  • Matplotlib 可以绘制线图、散点图、等高线图、条形图、柱状图、3D 图形、甚至是图形动画等等。

使用Matplotlib生成一个曲线的完整代码(其中部分代码是可以省略的,为了便于将相关属性快速有效的予以记录,本文尽量将相关属性都列了出来。)

# 导入库
import numpy as np
import matplotlib.pyplot as plt

# 设置中文显示
plt.rcParams['font.sans-serif'] = ['microsoft yahei']  #显示中文

# 01.工具栏组件
plt.rcParams['toolbar'] = 'toolbar2'  # 设置工具栏

# 02.模拟数据
x = np.linspace(0.0, 5.0, 100)
y = np.cos(2 * np.pi * x) * np.exp(-x)

# 03.设置字体字典
font = {'family': 'microsoft yahei',
        'color': '#000',
        'weight': 'normal',
        'size': 12}

# 04.图像配置实例
plt.figure('漏刻有时数据可视化 - TestWin', facecolor='w')  # 设置图形弹出窗口标题
# 05.图表标题
plt.title('漏刻有时折线图', fontdict=font, loc='center', y=1)  # 图表标题
# 06.文本组件
plt.text(0.91, -0.31, r'智能化数据的转账点', fontdict=font, c='b', rotation=30)  # 文本
# 07.坐标轴标签组件
plt.xlabel('时间:单位 (s)', fontdict=font)  # x轴
plt.ylabel('数值:单位 (mv)', fontdict=font)  # y轴
# 08.网格组件
plt.grid(which='major', axis='both', color='g', linestyle='-', linewidth=0.1)  # 网格
# 09.绘制折线
plt.plot(x, y, 'r', label='直连线', marker='d')  # 绘制折线
# 10.图例组件
plt.legend()  # 设置图例
# 11.图表渲染
plt.show()

01.工具栏组件

'''
工具栏组件
# 注意,应当放置在图像实例化之前。
# None模式:禁用工具栏
# toolbar2模式:默认工具栏布局
# toolmanager模式:工具栏布局在首行
'''
plt.rcParams['toolbar'] = 'toolbar2'  # 设置工具栏

toolmanager模式:
在这里插入图片描述

02.数据

03.设置字体字典

(1)全局字体样式

Matplotlib如果未正常设置中文字体,会出现乱码。基于实际开发情况,图像标题、图表标题、图例和标签都涉及到中文字体的应用,因此采用使用 matplotlib 模块的 rcParams,全局字体样式:

plt.rcParams['font.sans-serif'] = ['microsoft yahei']`

当然,也可以具体在某些组件使用时,单独调用对应的属性,如:

plt.title('自定义标题名称', fontproperties='SimHei')

(2)常用中文字体对应名称

中文名称英文名称
宋体SimSun
黑体SimHei
微软雅黑Microsoft YaHei
微软正黑体Microsoft JhengHei
新宋体NSimSun
新细明体PMingLiU
细明体MingLiU
标楷体DFKai-SB
仿宋FangSong
楷体KaiTi
隶书LiSu
幼圆YouYuan
华文楷体STKaiti
华文宋体STSong
华文中宋STZhongsong
华文仿宋STFangsong

(3)查询当前系统所有字体

如果要实时查询当前系统的所有字体,可以使用matploylib自带的font_manager属性进行遍历查询:

# 查询当前系统所有字体
from matplotlib.font_manager import FontManager
sys_fonts = [f.name for f in FontManager().ttflist]
for f in sorted(sys_fonts):
    print(f)

字体结果展示:
在这里插入图片描述

04.图像配置实例

05.图表标题

06.文本组件

07.坐标轴标签组件

08.网格组件

09.绘制折线

10.图例组件

11.图表渲染


总结

Matplotlib的基础选项属性以官网为准https://matplotlib.org/stable/api/pyplot_summary.html,由于是英文缘故,在实际学习和开发过程中,需要尽量多实践多练习。

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

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

相关文章

传染疾病模型

1 分支过程 1.1 工作原理 第一波疫情 假设一个人携带一种新的病毒,以独立的概率p将疾病传染给遇到的每一个人假设这个人在感染期遇到了k个人 ——>这k个人是该疾病传染的第一波基于疾病是随机传染的,所以第一波中有些人会感染疾病,有些人…

一篇基于深度学习的命名实体识别技术的研究报告

一篇基于深度学习的命名实体识别技术的研究报告 本篇文章主要是自己刚接触NER领域时,研读这篇《 A Survey on Deep Learning for Named Entity Recognition 》NER综述论文时翻译的中文版,这篇综述时间是2020年,可能近两年的部分成果暂未包含…

Python数据可视化(一)图表组成元素

1.1绘制 matplotlib 图表组成元素的主要函数matplotlib 是如何组织内容的?在一个图形输出窗口中,底层是一个 Figure实例,我们通常称之为画布,包含一些可见和不可见的元素。在画布上,自然是图形,这些图形就是…

Java---微服务---RabbitMQ部署

RabbitMQ部署1.单机部署1.1.下载镜像1.2.安装MQ1.3访问管理端2.集群部署2.1.集群分类2.2.设置网络1.单机部署 我们在Centos7虚拟机中使用Docker来安装,如未安装dockr,请参考《Centos7安装Docker》 1.1.下载镜像 方式一:在线拉取 docker …

剑指Offer 第3天、第4天

剑指 Offer 05. 替换空格 class Solution { public:string replaceSpace(string s) {string res;for(auto e : s){if(e ){res%;res2;res0;}elserese;}return res;} }; 剑指 Offer 58 - II. 左旋转字符串 class Solution { public:string reverseLeftWords(string s, int n) {…

java spring IOC xml方式注入对象类型的list集合数据

我们新创建一个java项目 然后引入spring的基本依赖 在src下创建一个collectiontype 包 在 collectiontype 包下创建一个 Course类 参考代码如下 package collectiontype;//课程类 public class Course {//课程名称private String cname;public void setCname(String cname) …

Java---微服务---RabbitMQ入门与应用

RabbitMQ入门与应用1.初识MQ1.1.同步和异步通讯1.1.1.同步通讯1.1.2.异步通讯1.2.技术对比:2.快速入门2.1.安装RabbitMQ2.2.RabbitMQ消息模型2.3.导入Demo工程2.4.入门案例2.4.1.publisher实现2.4.2.consumer实现2.5.总结3.SpringAMQP3.1.Basic Queue 简单队列模型3…

浅析一条SQL在mysql中是如何执行的

一. Mysql内部组件结构 MySql大体分为server层和存储引擎层, server层 主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等)…

spring boot整合redis中间件与热部署实现

热部署 每次写完程序后都需要重启服务器&#xff0c;需要大量的时间&#xff0c;spring boot提供了一款工具devtools帮助实现热部署。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId>…

1. python包管理pip工具

1. 何为pip&#xff1f; pip 是 python包管理工具&#xff0c;该工具提供了对 python包的查找、下载、安装、卸载的功能。 目前最新的 python版本已经预装了 pip。注意&#xff1a;python 2.7.9 或 python 3.4 以上版本都自带 pip 工具。之前在基础篇中我们已经安装了python3…

Java 23种设计模式(6.结构型模式-适配器模式)

结构型模式-适配器模式 代码分析 类图 代码 public class Target {//就是客户期待的接口&#xff0c;目标可以是具体&#xff0c;抽象的类&#xff0c;也可以是接口public String Request(){String msg "normal request";return msg;} }public class Adaptee {pub…

零基础学JavaWeb开发(二十五)之 vue快速入门

一、什么是VUE Vue 是一套用于构建用户界面的渐进式JavaScript框架&#xff0c;简化dom操作。 基于MVVM 是Model-View-ViewModel 的缩写&#xff0c;它是一种基于前端开发的架构模式&#xff0c;其核心是提供对View 和 ViewModel 的双向数据绑定&#xff0c;这使得ViewModel …

【头歌】循环单链表的基本操作

循环单链表的基本操作第1关&#xff1a;循环单链表的插入操作任务描述本关任务&#xff1a;编写循环单链表的插入操作函数。相关知识对于单链表&#xff0c;每个结点只存储了其后继结点的地址。尾结点之后不再有任何结点&#xff0c;那么它的next域设置有两种方式&#xff1a;将…

Python爬虫网页解析神器Xpath详细讲解

1、XPath介绍 XPath 是一门在 XML 文档中查找信息的语言。最初是用来搜寻 XML 文档的&#xff0c;但同样适用于 HTML 文档的搜索。 2、安装lxml lxml是Python的第三方解析库&#xff0c;支持HTML和XML解析&#xff0c;而且效率极高&#xff0c;弥补了Python自带的xml标准库在…

Mybatis-Plus id生成策略控制

目录 id生成策略控制 不同的表应用不同的id生成策略 名称 TableId AUTO策略 除了AUTO这个策略以外&#xff0c;还有如下几种生成策略: 分布式ID是什么? INPUT策略 ASSIGN_ID策略 ASSIGN_UUID策略 雪花算法 ID生成策略对比 id生成策略控制 不同的表应用不同的id生成…

计算机组成原理 | 第六章:计算机的运算方法 | 进制转换 | 定点运算 | 浮点数运算

文章目录&#x1f4da;进位计数制&#x1f407;任意进制转十进制&#x1f407;十进制整数转换为n进制整数&#x1f407;十进制小数转换为n进制小数&#x1f407;二/八/十六进制的互换&#x1f4da;带符号的二进制数表示⭐️&#x1f407;原码表示法&#x1f407;补码表示法&…

“买卖股票的最佳时机” 系列——我来教你稳赚不亏~

目录 前言 一、买卖股票的最佳时机 ——>指定次数交易&#xff08;1次&#xff09; 1.1、dp定义 1.2、递推公式 1.3、遍历顺序 1.4、初始化 1.5、解题代码 二、买卖股票的最佳时机II ——>交易到结束 2.1、分析 2.2、解题代码 三、买股票的最佳时机III ——>…

【keepass】密码管理软件keepass的安全风险分析,如何在使用keepass的过程中避免泄露数据库信息和密码?

一、安全风险分析 1.1 不正规的来源 如果你使用非官方渠道获得keepass软件或某些插件&#xff0c;那么你的密码管理从一开始就没有安全性可言。因为这玩意是开源的啊&#xff0c;如果对方“很懂”&#xff0c;只要往里面植入一些代码&#xff0c;让你的数据库文件和密钥在后台…

react 项目 中 使用 Dllplugin 打包优化

webpack在build包的时候&#xff0c;有时候会遇到打包时间很长的问题&#xff0c;这里提供了一个解决方案&#xff0c;让打包如丝般顺滑~ 在用 Webpack 打包的时候&#xff0c;对于一些不经常更新的第三方库&#xff0c;比如 react&#xff0c;lodash&#xff0c;vue 我们希望…

C语言基础知识(37)

数组一维数组的定义&#xff1a;类型说明符 数组名【常量表达式】&#xff1b;先定义后引用&#xff1b;一维数组初始化时可以只对一部分元素初始化&#xff0c;在对全部数组元素初始化的时候可以部规定长度&#xff1b;但是若被定义的数组长度与提供的初始值不一样时&#xff…