Python_AI库 Matplotlib的应用简例:绘制与保存折线图

本文默认读者已具备以下技能:

  • 熟悉Python基础语法,以自行阅读python代码块
  • 熟悉Vscode或其它编辑工具的应用

在数据可视化领域,Matplotlib无疑是一个强大的工具。它允许我们创建各种静态、动态、交互式的可视化图形,帮助我们更好地理解和分析数据。今天,我将通过一个简单的折线图绘制示例,来介绍Matplotlib的基础应用

from matplotlib import pyplot as plt#导入pyplot模块设置别名plt
from matplotlib import font_manager#导入font_manager,用于管理字体
import random#导入random模块,在该案例中仅用于随机生成一组数字,方便演示,非必需'''
x,y是绘制折线图最简模型必需的变量
'''
#1至30组成列表X,用于表示日期
x = range(1,31)
#从3000至5000随机返回1个数值,共30次,组成列表Y,用于表示销量
y = [random.randint(3000,5000) for _ in range(30)]
​
'''
以下代码块用来扩展最小模型,使图表最终效果更加美观
'''
#控制画布的大小和DPI
plt.figure(figsize=(20,8),dpi=80)
#设置中文字体:matplotlib默认不支持中文名称,需要设置后才能显示
my_font = font_manager.FontProperties(fname=r"C:\Windows\Fonts\simsun.ttc")
#设置X坐标轴的刻度显示
plt.xticks(x)
#添加标题及x,y轴描述信息
plt.xlabel('日        期',fontproperties=my_font,fontsize=10)
plt.ylabel('销        量',fontproperties=my_font,fontsize=10)
plt.title('XX门店4月份每日销售额',fontproperties=my_font,fontsize=18)
​
'''
plot和show方法是绘制最简模型必需的方法
plot用于绘制折线图
show用于展示折线图
'''
plt.plot(x,y)
plt.show()
​
#保存图形文件到当前路径下
plt.savefig('my_plot.png')
​

首先,我们需要导入必要的模块。在这个例子中,我们导入了Matplotlib的pyplot模块,并为其设置了别名plt,以便后续调用。同时,我们还导入了font_manager模块,用于管理字体,因为Matplotlib默认不支持中文名称的显示。最后,我们还导入了random模块,用于生成随机数据,方便我们进行演示。

接下来,我们定义了两个列表x和y。x列表包含了1至30的数字,用于表示日期;y列表则通过random.randint函数随机生成了30个在3000至5000之间的数值,用于表示销量。这两个列表将作为我们绘制折线图的基础数据。

在绘制折线图之前,我们可以对画布进行一些设置,以控制图形的大小和DPI(每英寸点数)。通过plt.figure函数,我们设置了画布的宽度为20英寸,高度为8英寸,DPI为80。这样可以使图形更加清晰,便于观察。

由于Matplotlib默认不支持中文名称的显示,我们需要设置字体才能正确显示中文。通过font_manager.FontProperties函数,我们指定了字体文件的路径(这里使用的是Windows系统下的宋体字体文件),并将其保存在my_font变量中。在后续添加标题和坐标轴描述信息时,我们将使用这个变量来确保中文能够正确显示。

接着,我们使用plt.xticks函数设置了X坐标轴的刻度显示。由于x列表中的数字已经表示了日期,我们直接将其作为刻度值。然后,通过plt.xlabel、plt.ylabel和plt.title函数,我们分别添加了X轴、Y轴的描述信息和图形的标题,并指定了字体属性和字体大小。

现在,我们可以开始绘制折线图了。使用plt.plot函数,我们传入x和y两个列表作为参数,Matplotlib将根据这两个列表中的数据绘制出折线图。最后,通过plt.show函数,我们可以将绘制好的折线图展示出来。

除了展示图形之外,我们还可以将图形保存为文件。在这个例子中,我们使用plt.savefig函数将图形保存为PNG格式的文件,文件名为"my_plot.png"。这样,我们就可以将图形保存下来,方便后续查看和分享。

通过以上步骤,我们成功地使用Matplotlib绘制并保存了一个简单的折线图。当然,Matplotlib的功能远不止于此,它还支持绘制各种复杂的图形、添加图例、设置颜色、样式等。

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

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

相关文章

企业工厂如何逆风翻盘:VR全景打破多重桎梏

现阶段,制造业工厂面临的困境,就是用着上百万的设备,却赚着几毛钱的利润。传统的工厂参观方式也存在着很多的局限性,例如时间上不方便、不能实地参访、生产线具有隐患等,都会使得参观者不能深入地了解工厂的生产环境和…

Android Studio实现内容丰富的安卓养老平台

获取源码请点击文章末尾QQ名片联系,源码不免费,尊重创作,尊重劳动 158安卓养老 1.开发环境 后端用springboot框架,安卓的用android studio开发android stuido3.6 jak1.8 idea mysql tomcat 2.功能介绍 安卓端: 1.注册登…

实验7:路由冗余协议HSRP配置管理(课内实验以及解答)

实验目的及要求: 理解首跳冗余协议(FHRP)的工作原理,掌握热备份路由器协议 (HSRP)(思科私有协议)原理和配置。能够实现网络终端设备虚拟网关的配置和网络故障的灵活切换,完成相应网络的联通性测…

斐波那契数列

感谢大佬的光临各位,希望和大家一起进步,望得到你的三连,互三支持,一起进步 个人主页:LaNzikinh-CSDN博客 收入专栏:初阶数据结构_LaNzikinh篮子的博客-CSDN博客 文章目录 前言一.斐波那契数二.改循环三.尾递归总结 前…

智能外呼文书送达系统,智慧检务解决方案

在全民数字化改革中,司法体制改革不断推进的大背景下,合肥高新技术产业开发区人民检察院的内设机构改革已完成落地,刑事案件审查办理迎来了重大改变,需要检察官对现有办案方式方法做出相应的调整,将主要精力从大量的重…

初始计算机网络

TCP/IP TCP/IP模型 TCP/IP网络模型:对于不同设备之间的通信,就需要网络通信,而设备是多样性的,所以要兼容多种多样的设备,就协商出了一套通用的网络协议。 TCP/IP分层 这个网络协议是分层的,每一层都有…

【EI会议|投稿优惠】2024年机械应用与能源动力国际会议(ICMAEP 2024)

2024 International Conference on Mechanical Applications and Energy Power 一、大会信息 会议名称:2024年机械应用与能源动力国际会议 会议简称:ICMAEP 2024 收录检索:提交Ei Compendex,CPCI,CNKI,Google Scholar等 会议官网:…

【Linux系统编程】第九弹---权限管理操作(下)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、目录权限 2、粘滞位 总结 1、目录权限 首先提出一个问题,删除一个文件需要什么权限呢?&#xff1f…

基于 SpringCloud 的在线交易平台乐优商城的设计与实现(四)

第 4 章 数据库设计 4.1 数据库设计原则 4.2.数据库概念结构设计 4.3 数据库表设计 4.4.本章小结 前面内容请移步 基于 SpringCloud 的在线交易平台乐优商城的设计与实现(三) 相关免费源码资源 乐优商城 第 4 章 数据库设计 4.1 数据库设计原…

消息服务应用1——java项目使用websocket

在当前微服务项目中,由于业务模块众多,消息服务的使用场景变得异常活跃。而WebSocket由于其自身的可靠性强,实时性好,带宽占用更小的优势,在实时通讯应用场景中独占鳌头,加上HTML5标准的普及流行&#xff0…

记录些AI Agents设计模式和NL2SQL知识

吴恩达分享的四种 自我反思(Reflection):可以自我修正;使用工具(Tool Use):链接其他系统去做一些事情,比如把电脑里面的未归档文件做好归档;规划(Planning&a…

2024年五一联赛数学建模思路+论文+代码+结果

一、竞赛时间 2024年5月1日10:00至2024年5月4日12:00(北京时间,24时计时法)。 二、报名时间 2024年4月7日00:00至2024年4月30日24:00(北京时间,24时计时法)。(如受突发事情影响而导致系统注册报名推后,将另行通知) …

应急行业的智能安全帽(高端)

前面介绍了低端、中端安全帽,接着再讲讲高端安全帽。做高端安全帽的企业非常少,估计一只手都数的出来。确实也和智能安全帽这个领域体量有关系,并且他有一个新的“劲敌”——智能眼镜从其他领域瓜分原属于他的市场,这些都是题外话…

【从后端日志文件中过滤出sql语句】

从后端日志文件中过滤出sql语句 why?思路日志文件的格式 结果 why? 为什么会有这种需求?,mysql数据不小心被删了完全可以从备份数据恢复,或者从binlog中恢复,但是如果前面这两种方法没办法处理(没有备份数据库文件、…

分类神经网络2:ResNet模型复现

目录 ResNet网络架构 ResNet部分实现代码 ResNet网络架构 论文原址:https://arxiv.org/pdf/1512.03385.pdf 残差神经网络(ResNet)是由微软研究院的何恺明、张祥雨、任少卿、孙剑等人提出的,通过引入残差学习解决了深度网络训练中的退化问题&#xff…

解决 Tomcat 跨域问题 - Tomcat 配置静态文件和 Java Web 服务(Spring MVC Springboot)同时允许跨域

解决 Tomcat 跨域问题 - Tomcat 配置静态文件和 Java Web 服务(Spring MVC Springboot)同时允许跨域 Tomcat 配置允许跨域Web 项目配置允许跨域Tomcat 同时允许静态文件和 Web 服务跨域 偶尔遇到一个 Tomcat 部署项目跨域问题,因为已经处理过…

Odoo:全球排名第一的免费开源PLM管理系统介绍

概述 利用开源智造OdooPLM产品生命周期管理应用,重塑创新 实现产品生命周期管理数字化,高效定义、开发、交付和管理创新的可持续产品,拥抱数字化供应链。 通过开源智造基于Odoo开源技术平台打造数字化的产品生命周期管理(PLM&am…

基于OpenMV 双轴机械臂 机器学习

文章目录 一、项目简要二、目标追踪1. 色块识别与最大色块筛选2. PID位置闭环 三、机器学习1. Device12. Device2 四、效果演示 一、项目简要 两套二维云台设备,Device1通过摄像头捕捉目标物块点位进行实时追踪,再将自身点位传到Device2,Dev…

开发 Chrome 浏览器插件入门

前言 简介 Chrome 插件是扩展 Chrome 浏览器的功能的软件程序。它们可以执行各种任务,例如阻止广告、增强隐私、添加新功能等等。 要开始编写 Chrome 插件,你需要掌握以下: 1.JavaScript语言 2.html 3.css 4.会使用chrome扩展开发手册…

opencv绘制线段------c++

绘制线段 bool opencvTool::drawLines(std::string image_p, std::vector<cv::Point> points) {cv::Mat ima cv::imread(image_p.c_str()); // 读取图像&#xff0c;替换为你的图片路径 cv::Scalar red cv::Scalar(0, 0, 255); // Red color int thickness 2;// 遍…