【Python数据可视化】matplotlib之增加图形内容:设置图例、设置中文标题、设置网格效果

news2024/11/18 7:35:17

文章传送门

Python 数据可视化
matplotlib之绘制常用图形:折线图、柱状图(条形图)、饼图和直方图
matplotlib之设置坐标:添加坐标轴名字、设置坐标范围、设置主次刻度、坐标轴文字旋转并标出坐标值
matplotlib之增加图形内容:设置图例、设置中文标题、设置网格效果
matplotlib之设置子图:绘制子图、子图共享x轴坐标
matplotlib之绘制高级图形:散点图、热力图、等值线图、极坐标图
matplotlib之绘制三维图形:三维散点图、三维柱状图、三维曲面图

目录

  • 简述 / 前言
  • 1. 设置图例
  • 2. 设置中文标题
  • 3. 设置网格效果

简述 / 前言

这篇来分享一些可以增加的图形内容来美化图形:设置图例、设置中文标题、设置网格效果。


1. 设置图例

显示图例关键语句:matplotlib.pyplot.legend(loc=loc)

注意:在显示图例前必须要在画图是加入 label 属性(比如下面的例子在 plot 时都会加上 label 属性),否则图例为空!

那么 loc 有哪些值可以选呢?

参数图例位置
best最合适的位置(常用)
upper right右上角(常用)
upper left左上角
lower left左下角
lower right右下角
right右侧
center left左侧中间
center right右侧中间
lower center下侧中间
upper center上侧中间
center中间

示例:

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-10, 11)
plt.xlim(-11, 11)
plt.plot(x, -2 * x, color="r", label='y=-2x')
plt.plot(x, x, color="g", label='y=x')
plt.plot(x, 2 * x, color="b", label='y=2x')
plt.legend(loc='best')  # 绘制图例
plt.show()

输出:
请添加图片描述

有时候我也会先用 best 来让 python 自动选位置放图例,然后再根据给出的图形修改图例位置,不过大多数时候图例位置选择 best 都不需要修改。

:内置颜色可以用缩写字母代替(单词首字母),比如 red 可以写成 rgreen 可以写成 gblue 可以写成 b,其它的类似,如果缩写之后报错,说明你要的颜色不是内置颜色,那么就要用 RGB 代码替代。

2. 设置中文标题

显示图例关键语句:matplotlib.pyplot.title()

一般用法:matplotlib.pyplot.title(title, color=color, fontname=fontname, fontsize=fontsize, fontweight=fontweight, fontstyle=fontstyle, verticalalignment=verticalalignment, horizontalalignment=horizontalalignment),其中各属性含义如下:

属性含义
title要显示的标题文字
color标题颜色
fontname字体格式
fontsize字体大小
fontweight字体粗细(light, normal, medium, semibold, bold, heavy, black
fontstyle字体类型(normal, italic, oblique
verticalalignment水平对齐方式,可以选:top, bottom, center, baseline, center_baseline
horizontalalignment垂直对齐方式,可以选:center, right, left
  • fontsize
    参数含义
    16数值型,字号大小
    xx-small极小
    x-small较小
    small
    medium中等
    large
    x-large较大
    xx-large极大

示例:

import matplotlib.pyplot as plt

sizes = [10, 20, 15, 18, 50]
explode = (0.1, 0.1, 0.1, 0.1, 0.1)
labels = ['class1', 'class2', 'class3', 'class4', 'class5']
colors = ['blue', 'red', 'green', 'yellow', 'pink', 'black']
plt.pie(sizes, explode=explode, labels=labels, colors=colors, autopct='%.1f%%', shadow=True, startangle=30, radius=0.8)
# 设置标题
plt.title("分班比例", fontname='FangSong', fontsize='xx-large', color='green', fontweight='bold', fontstyle='italic', verticalalignment='center', horizontalalignment='center')
plt.show()

输出:
请添加图片描述
:可以看到显示标题并没有斜体,下面试试英文标题有没有效果~

示例:

import matplotlib.pyplot as plt

sizes = [10, 20, 15, 18, 50]
explode = (0.1, 0.1, 0.1, 0.1, 0.1)
labels = ['class1', 'class2', 'class3', 'class4', 'class5']
colors = ['blue', 'red', 'green', 'yellow', 'pink', 'black']
plt.pie(sizes, explode=explode, labels=labels, colors=colors, autopct='%.1f%%', shadow=True, startangle=30, radius=0.8)
# 设置标题
plt.title("Class placement ratio", fontsize='xx-large', color='green', fontweight='bold', fontstyle='italic', verticalalignment='center', horizontalalignment='center')
plt.show()

请添加图片描述

:可以看到英文标题显示为斜体,看来字体类型(fontstyle)只对英文字符生效,而不对中文字符生效~

3. 设置网格效果

关键方法:matplotlib.pyplot.grid()

一般用法:matplotlib.pyplot.grid(linewidth=linewidth, linestyle=linestyle, color=color, alpha=alpha)

属性含义
linewidth网格线宽度
linestyle网格线类型
color网格线颜色
alpha透明度,取值:[0, 1],值越小越透明

示例:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5, 6]  # x轴刻度
y = [70, 93, 85, 89, 100, 60]  # y轴刻度
color = ['red', 'green', 'blue', 'pink', 'cyan', 'magenta']
x_label = ['一班', '二班', '三班', '四班', '五班', '六班']
# 绘制x刻度标签
plt.xticks(x, x_label)
plt.rcParams['font.sans-serif'] = ['SimHei']  # 设置中文
# s设置标题
plt.title("班级平均分对照表", fontdict={'fontsize': 20, 'color': 'y'})
# 绘制柱状图
plt.bar(x, y, color=color)
plt.grid(linewidth='1.5', linestyle=':', color='yellow', alpha=0.8)
plt.show()

输出:
请添加图片描述

但是一般我们只看横着的线,所以还可以设置一下 axis='y',这样只画垂直于的y轴的网格线了

改进用法:matplotlib.pyplot.grid(linewidth=linewidth, linestyle=linestyle, color=color, alpha=alpha, axis=axis),添加的参数含义如下:

参数含义
axis垂直于axis轴,axis可选参数:x, y, both(默认值)

示例:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5, 6]  # x轴刻度
y = [70, 93, 85, 89, 100, 60]  # y轴刻度
color = ['red', 'green', 'blue', 'pink', 'cyan', 'magenta']
x_label = ['一班', '二班', '三班', '四班', '五班', '六班']
# 绘制x刻度标签
plt.xticks(x, x_label)
plt.rcParams['font.sans-serif'] = ['SimHei']  # 设置中文
# s设置标题
plt.title("班级平均分对照表", fontdict={'fontsize': 20, 'color': 'y'})
# 绘制柱状图
plt.bar(x, y, color=color)
plt.grid(linewidth='1.5', linestyle=':', color='gray', alpha=0.8, axis='y')
plt.show()

输出:
请添加图片描述

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

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

相关文章

雪花算法及Java实现

一、全局唯一ID介绍 1、背景 现如今越来越多的公司都在用分布式、微服务,那么对应的就会针对不同的服务进行数据库拆分,然后当数据量上来的时候也会进行分表,那么随之而来的就是分表以后id的问题。 例如之前单体项目中一个表中的数据主键id…

10.抽象工厂模式

江湖上再也没人找林家的麻烦了。因为林平之一怒之下将辟邪剑谱公诸天下。一下子印出去几万份,江湖上人人都能轻而易举的得到这本无尚武学;然而江湖人士却陷入深深的矛盾之中: 不练,别人练了,分分钟秒杀你;练…

Qt QSlider滑动条控件

文章目录 1 属性和方法1.1 值1.2 方向1.3 步长1.4 信号和槽 2 实例2.1 布局2.2 代码实现 QSlider是滑动条控件,滑动条可以在一个范围内拖动,并将其位置转换为整数 最常见的应用就是视频播放器中的进度条 1 属性和方法 QSlider继承自QAbstractSlider&…

<软考高项备考>《论文专题 - 66 质量管理(5) 》

4 收尾 4.1 收尾-经验教训 经验: 1、制订科学合理的质量管理,管理质量,质量控制计划很重要。 2、严格执行质量管理,管理质量和质量控制计划很重要。 3、质量管理的工具和技术不宜采用过多,适用和够用就好&#xff0c…

Simulink|电力系统风储联合一次调频仿真模型

主要内容 风电高渗透率下,电力系统对风电场频率调节能力提出了技术要求。考虑风机惯性控制和变桨距控制的频率响应能力,提出将储能与风电自身调频手段相结合,参与系统频率调节。模型采用Simulink进行仿真,建立了风储联合调频下…

Spring Cloud整体架构解析

Spring Cloud整体架构 本文已收录至我的个人网站:程序员波特,主要记录Java相关技术系列教程,共享电子书、Java学习路线、视频教程、简历模板和面试题等学习资源,让想要学习的你,不再迷茫。 Spring Cloud的中文名我们就…

Tiktok/抖音旋转验证码识别

一、引言 在数字世界的飞速发展中,安全防护成为了一个不容忽视的课题。Tiktok/抖音,作为全球最大的短视频平台之一,每天都有数以亿计的用户活跃在其平台上。为了保护用户的账号安全,Tiktok/抖音引入了一种名为“旋转验证码”的安…

《Git学习笔记:IDEA整合Git》

在IDEA中集成Git去使用 通过Git命令可以完成Git相关操作,为了简化操作过程,我们可以在IDEA中配置Git,配置好后就可以在IDEA中通过图形化的方式来操作Git。 在IDEA开发工具中可以集成Git: 集成后在IDEA中可以看到Git相关图标&…

WeNet2.0:提高端到端ASR的生产力

摘要 最近,我们提供了 WeNet [1],这是一个面向生产(工业生产环境需求)的端到端语音识别工具包,在单个模型中,它引入了统一的两次two-pass (U2) 框架和内置运行时(built-in runtime)…

WPF 布局

了解 WPF中所有布局如下,我们一一尝试实现,本文档主要以图形化的形式展示每个布局的功能。 布局: Border、 BulletDecorator、 Canvas、 DockPanel、 Expander、 Grid、 GridView、 GridSplitter、 GroupBox、 Panel、 ResizeGrip、 Separat…

怎样制作一本旅游电子相册呢?

​随着数码技术的发展,旅游电子相册已成为越来越多旅游爱好者的必备工具。它不仅能让您随时随地欣赏自己的旅行回忆,还能分享给亲朋好友,甚至上传到社交媒体上,让更多人了解您的旅行故事。那么,如何制作一本精美的旅游…

HarmonyOS4.0系列——05、状态管理之@Prop、@Link、@Provide、@Consume,以及@Watch装饰器

状态管理 看下面这张图 Components部分的装饰器为组件级别的状态管理,Application部分为应用的状态管理。开发者可以通过StorageLink/LocalStorageLink 实现应用和组件状态的双向同步,通过StorageProp/LocalStorageProp 实现应用和组件状态的单向同步。…

智能路由器中的 dns.he.net可使用自定义域名的免费 DDNS 服务配置方法

今天介绍的这个是可以使用自定义域名同时支持使用二级域名的免费DDNS服务 dns.he.net的动态DDNS服务的配置方法, 这个服务相对还是比较稳定的, 其配置也和其他的DDNS服务有些不太一样, 首先他的主机名: 这里需要设置为登录后分配的区域域名: ipv6.he.net 然后就是 DDNS 用户…

cad二次开发autolisp(一)

文章目录 一、概述1.1 简介1.2 打开编辑器1.3 调试页面 二、数据类型三、函数3.1 用户函数 四、语句4.1 常规语句4.2 流程控制语句 五、图元操作5.1 定义5.2 图元选择5.3 图元属性列表 一、概述 1.1 简介 简介:cad 二次开发语言,后缀名*.lsp适用于编写…

tda7294引脚功能和电压_三款tda7294应用电路

tda7294引脚功能 1脚为待机端; 2脚为反相输入端; 3脚为正相输入端; 4脚接地; 5、11、12脚为空脚; 6脚为自举端; 7脚为Vs(信号处理部分); 8脚为-Vs(信号…

分布式计算平台 Hadoop 简介

Hadoop简介 Hadoop是一种分析和处理大数据的软件平台,是一个用Java语言实现的Apache的开源软件框架,在大量计算机组成的集群中实现了对海量数据的分布式计算。其主要采用MapReduce分布式计算框架,包括根据GFS原理开发的分布式文件系统HDFS、…

解锁 JavaScript 数组的强大功能:常用方法和属性详解(上)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

使用Qt连接scrcpy-server控制手机

Qt连接scrcpy-server 测试环境如何启动scrcpy-server1. 连接设备2. 推送scrcpy-server到手机上3. 建立Adb隧道连接4. 启动服务5. 关闭服务 使用QTcpServer与scrcpy-server建立连接建立连接并视频推流完整流程1. 开启视频推流过程2. 关闭视频推流过程 视频流的解码1. 数据包协议…

C++进阶--AVL树

AVL树 一、AVL树的概念二、AVL树节点的定义三、AVL树的插入四、AVL树的旋转4.1 左单旋4.2 右单旋4.3 左右双旋4.4 右左双旋 五、AVL树的验证六、AVL树的删除七、AVL树的性能七、完整代码7.1 AVLTree.h 一、AVL树的概念 二叉搜索树虽可以缩短查找的效率,但如果数据有…

命令行登录Mysql的详细讲解

目录 前言1. 本地登录2. 远程登录3. 拓展 前言 对于命令行登录Mysql一般都是用mysql -u root -p 但对于如何远程登陆,一直其他的参数还是有些盲区,对此总结科普 对于登录过程中出现的问题,可看我之前的文章: 服务器 出现ERROR …