基于Matplotlib包实现可视化①——折线图绘制

Matplotlib 是一个用于创建静态、动画、 和交互式可视化的第三方库,也是我们在借助Python进行数据可视化时经常使用到的库,具有较强的可视化能力。

为让大家有一个更为直观的认识,这里我随机从其官方网页中摘取了几张图片。

按照惯例,我们在这里给出Matplotlib的官方网址(https://matplotlib.org),大家也可以根据其中的示例、资源和参考文档进行自学。

首先,在使用前要确保机器已完成了Matplotlib的安装。

此外,Matplotlib通常也与NumPy、Scipy以及Pandas等数据分析库配合使用。

1.库的导入

采用惯用的import方法,完成导入

import matplotlib

Pyplot 是 Matplotlib 的子库,也是进行绘图时常用的绘图模块,这里我们将其import进来

import matplotlib.pyplot as plt

2.绘制

这里我们编撰几组数据进行展示

#导入from matplotlib import pyplot as plt#数据x = ["2014","2016","2018","2020","2022","2024","2026","2028","2030","2032"]y = [15,13,14,17,20,25,26,26,27,22]#绘制图形plt.plot(x,y)#显示图形plt.show()

结果如下:

至此,我们便简单地完成了折线图的绘制。但是,这个结果显然难以满足我们的实际需要,下面就需要作进一步的美化处理。

3.美化

1.设置画布大小及清晰度

这就需要对图片的大小及清晰度进行设置,代码如下:

#设置大小清晰度fig = plt.figure(figsize=(20,10),dpi=300)

这里,对涉及到的参数做一简要说明:通过figsize参数传入一个元组(width, height),设置图像的大小;通过dpi传入一个整数值,设置图像的清晰度。

2.将图片保存在本地

在示例中,我们选择将生成的图片进行展示,而未将结果导出,我们又不能通过截图将其保存,这就需要我们使用保存命令,代码如下:

plt.savefig('e:/折线图.png')#这里我选择将其输出到E盘目录下,并命名为折线图

3.添加格网

有时,我们需要为图表添加网格,以更好匹配数值信息,代码如下:

#设置格网plt.grid()

4.设置标题

标题也是图表中十分重要的要素,代码如下:

#设置标题plt.title("样例折线图", fontsize = 20,loc = "center")

同样,这里也可以通过一些其他参数完成字体大小、位置的设置

5.设置折线样式

折线图的灵魂自然是折线,折线的样式也是我们关注的焦点。

这里呢,就涉及的参数较多了,我们一一进行介绍。

①线型

线型用参数linestyle定义,简写为ls

线型缩写注释
solid-实线
dotted:点虚线
dashed--破折线
dashdot-.点划线
Noe"或者' '不画线

②颜色

颜色用参数color定义,简写为c

常用颜色

颜色注释
r红色
g绿色
b蓝色
c青色
y黄色
k黑色
w白色

当然,也可以用十六进制颜色进行定义。

③线宽

线宽可以用linewidth参数定义,简写为lw

④形状

形状标记用marker参数进行设置,以下为常用形状(摘自菜鸟文档)

此外,我们还可以用markersize参数来设置形状的大小,简写为ms

有了上述知识储备,我们就可以自由地画线喽!

#设置折线样式plt.plot(x,y1,lw=1,c='red',marker='o',ms=4,label='对象1')plt.plot(x,y2,lw=1,c='blue',marker='s',ms=4,label='对象2')​

6.添加图例

#添加图例plt.legend(loc="upper left")

这里还要说明一下:这里的loc参数主要用于设置插入图例的位置,这里选择左上,主要有以下类型"center", "right","left","upper left","upper right","lower left","lower right","center left"和"center right"等等,可以根据实际情况加以调整,以使其美观。

7.设置轴标签

用xlabel和ylabel来设置

#设置轴标签plt.xlabel('年份',fontsize=13)plt.ylabel('指数',fontsize=13)

8.解决中文字体无法正常显示的问题

由于matplotlib默认使用的字体中不包含中文字符,在绘图时可能会出现中文字体无法显示的现象,这里有一种方法可供参考

plt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus'] = False

如果安装matplotlib路径下有对应字体文件,可以通过这种方式进行设置。

至此,本次分享就告一段落了。而事实上,折线图的绘制并不复杂,属于相对基础的内容,后面也会陆续更新其他图表的绘制,敬请各位关注。另外,如果大家有任何建议、意见和想法,欢迎在评论区留言讨论。

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

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

相关文章

Halcon 极坐标转换图像

一、概述 先看效果 将圆形的用极坐标转换成矩性然后再进行识别或者其他缺陷检测,最后在还圆到原图中 二、原理: halcon 圆环类缺陷检测的一种方法(极坐标变换法)_halcon缺口检测-CSDN博客 图像极坐标变换与反变换(…

YOLOv8改进 | 图像去噪篇 | 单阶段盲真实图像去噪网络RIDNet辅助YOLOv8图像去噪(全网独家首发)

一、本文介绍 本文给大家带来的改进机制是单阶段盲真实图像去噪网络RIDNet,RIDNet(Real Image Denoising with Feature Attention)是一个用于真实图像去噪的卷积神经网络(CNN),旨在解决现有去噪方法在处理真实噪声图像时性能受限的问题。通过单阶段结构和特征注意机制,…

[MySQL数据库] Java的JDBC编程(MySQL数据库基础操作完结)

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏:🍕 Collection与数据结构 (91平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm1001.2014.3001.5482 🧀Java …

6.Redis之String命令

1.String类型基本介绍 redis 所有的 key 都是字符串, value 的类型是存在差异的~~ 一般来说,redis 遇到乱码问题的概率更小~~ Redis 中的字符串,直接就是按照二进制数据的方式存储的. (不会做任何的编码转换【讲 mysql 的时候,知道 mysql 默认的字符集, 是拉丁文,插入中文…

VMware创建虚拟机

1.自定义 2.选择硬件兼容性 3.创建一个空白硬盘 4.选择操作系统和版本 5.设置虚拟机名称以及安装位置 6.处理器配置 7.设置虚拟机内存 8.设置网络类型 8.选择IO控制器 9.选择磁盘类型 10.创建一个新硬盘 11.设置磁盘容量以及磁盘个数 12.设置磁盘文件名称(默认) 13.点击完成创建…

IDEA快速生成类注释和方法注释的方法

1.生成类、接口、枚举、注解等文件的注释,不仅仅是class 2.生成方法注释的 可在方法上方空行输入/** 按enter键快速生成。生成的样式如下: PS:生成的返回值带一堆英文文字说明,感觉没必要 如果想生成比较全面的方法注释,如作者&…

子线程无法访问父线程中通过ThreadLocal设置的变量

一、引出结论 学习过ThreadLocal的童鞋都知道,在子线程中,是无法访问父线程通过ThreadLocal设置的变量的。 package thread;/*** author heyunlin* version 1.0*/ public class ThreadLocalExample {public static void main(String[] args) throws In…

毕设 大数据校园卡数据分析

文章目录 0 前言1 课题介绍2 数据预处理2.1 数据清洗2.2 数据规约 3 模型建立和分析3.1 不同专业、性别的学生与消费能力的关系3.2 消费时间的特征分析 4 Web系统效果展示5 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设…

脑机接口习题

9-12章习题 填空题 EEG电极分为 主动电极 和 被动电极 ,其中 被动电极 直接与放大器连接, 主动电极 包含一个1~10倍的前置放大。除抗混淆滤波器,放大系统也包含由电阻器、电容器构成的模拟滤波器,把信号频率内容限制在一个特定的…

【QGIS入门实战精品教程】10.7: 基于DEM的地形因子分析(坡度、坡向、粗糙度、山体阴影、耐用指数)

文章目录 一、加载dem二、山体阴影三、坡度四、坡向五、地形耐用指数六、地形位置指数七、地表粗糙度一、加载dem 二、山体阴影 方法一:符号系统 利用符号系统中的山体阴影,渲染出阴影效果。 方法二:山体阴影工具 该算法计算输入中的数字化地形模型的山体阴影。根据太阳的位…

MFC密码对话框之间数据传送实例(源码下载)

新建一个login工程项目对话框,主对话框IDD_LOGIN_DIALOG中一个显示按钮IDC_BUTTON1、一个密码按钮IDC_BUTTON2。添加一个密码对话框IDD_DIALOG1,添加类password,在对话框中添加一个编辑框IDC_EDIT1、一个确定按钮IDC_BUTTON1。 程序功能&…

Flask和Django的对比

文章目录 1. 简介FlaskDjango 2. 安装和创建项目FlaskDjango 3. URL路由FlaskDjango 4. 数据库支持FlaskDjango 5. 管理后台FlaskDjango 6. 总结 Flask和Django都是Python Web框架,它们在开发Web应用程序时都能提供强大的功能。本文将对这两个框架进行对比&#xff…

2024目前网上最火短剧机器人做法,自动搜索发剧 自动更新资源 自动分享资源

目前整个项目圈子很多的短剧机器人,我写的,自动搜索发剧,自动更新资源,自动分享资源,前段时间大部分做短剧的都是做的短剧分成,我的一个学员做的30W播放量才200块收益,备受启发,我就…

VUE3视频播放器 videojs-player/vue

简介 官网: https://gitcode.com/surmon-china/videojs-player/overviewhttps://github.com/surmon-china/videojs-player?tabreadme-ov-file video-player是一个基于video.js的视频播放器组件,它提供了丰富的功能,包括视频播放、暂停、快…

MySQL——优化

全文搜索最慢 EXPLAIN select * from city; 范围搜索 EXPLAIN select * from city where ID>5 and ID<20; 主键查询 EXPLAIN select * from citywhere ID5; 索引查询 EXPLAIN select * from citywhere CountryCodeNLD; 普通查询 EXPLAIN select * from city where Nam…

【yolov10】使用自己的数据集训练目标检测模型

【yolov10】使用自己的数据集训练目标检测模型 一、anaconda安装二、环境配置三、数据集制作1、labelimg的安装2、使用labelimg 四、正片1、下载yolov10源码2、数据集目录3、训练4、推理 一、anaconda安装 直接参考前一篇博客&#xff1a; https://blog.csdn.net/m0_71523511/…

【计算机毕业设计】基于SSM+Vue的新能源汽车在线租赁管理系统【源码+lw+部署文档】

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;新能源汽车在线租赁当然也不能排除在外。新能源汽车在线租赁是以实际运用为开发背景&#xff0c;运用软件工程开发方法&…

文本处理工具grep及sed

文章目录 一、grep文本处理工具二、sed文本处理工具基本用法sed脚本格式搜索替代 一、grep文本处理工具 选项含义-color对匹配到的文本着色显示-m 次数匹配到规定的次数后停止-v显示不被命令匹配到的行,即取反-i忽略字符大小写-n显示匹配的行号-c统计匹配的行数-o仅显示匹配到…

aosp14的分屏接口ISplitScreen接口获取方式更新-学员疑问答疑

背景&#xff1a; 有学员朋友在学习马哥的分屏pip自由窗口专题时候&#xff0c;做相关分屏做小桌面项目时候&#xff0c;因为原来课程版本是基于android 13进行的讲解的&#xff0c;但是现在公司已经开始逐渐进行相关的android 14的适配了&#xff0c;但是android 14这块相比a…

Linux服务升级:Predixy 升级代理 Redis-cluster 集群

目录 一、实验 1.环境 2. 启动Redis服务 3.Predixy 升级代理 Redis-cluster 集群 二、问题 1. Predixy进行set操作报错 2.如何创建脚本启动predixy 3.Redis代理对比 一、实验 1.环境 &#xff08;1&#xff09;主机 表1 主机 系统版本节点软件IP备注CentOS7.9Redis…