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

news2024/12/27 12:24:30

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

  • 熟悉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.coloradmin.cn/o/1630112.html

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

相关文章

币圈资讯Cryptosquare论坛

在加密货币世界中,信息的及时获取对于投资者和交易者至关重要。今天,我将向大家介绍Cryptosquare这个综合性资讯论坛,它汇集了币圈新闻、空投信息、社会热点以及与Web3相关的工作信息。让我们一起解锁加密世界的种种可能性,探索Cr…

鹏哥C语言复习——字符函数与字符串函数

目录 一.字符函数 1.字符分类函数 2.字符转换函数 二.基础字符串函数 1.strlen函数 2.strcpy函数 3.strcat函数 4.strcmp函数 三.基础字符串函数优化 1.strncpy函数 2.strncat函数 3.strncmp函数 四.进阶字符串函数 1.strstr函数 2.strtok函数 3.strerror函数 一…

Eclipse 如何导入一个 Maven 项目

如果你的项目是 Maven 项目的话,导入的时候需要使用 Import,而不能使用打开项目的方式。 选择导入 选择导入 Maven 项目 然后选择 Maven 项目,开始导入。 选择目录后导入 然后选择你需要导入的目录后,单击导入。 Eclipse 如何导…

Llama-7b-Chinese本地推理

Llama-7b-Chinese 本地推理 基础环境信息(wsl2安装Ubuntu22.04 miniconda) 使用miniconda搭建环境 (base) :~$ conda create --name Llama-7b-Chinese python3.10 Channels:- defaults Platform: linux-64 Collecting package metadata (repodata.js…

【MySQL精炼宝库】数据库的约束 | 表的设计 | 聚合查询 | 联合查询

目录 一、数据库约束 1.1 约束类型: 1.2 案例演示: 二、表的设计 2.1 一对一: 2.2 一对多: 2.3 多对多: 2.4 内容小结: 三、新增 四、查询 4.1 聚合查询: 4.1.1 聚合函数: 4.1.2 GROUP BY子句&#xff1a…

nginx配置ip_hash负载均衡策略

一、nginx配置ip_hash负载均衡策略 nginx默认的负载均衡策略为轮询,某些场景需要使用ip_hash负载策略,即:同一个ip地址,永远访问nginx后面同一台tomcat。配置示例如下,主要是设置ip_hash: upstream www.ab…

B站美化插件,支持自定义,太酷辣~

大公司的软件和网站通常具有优雅的默认界面设计。 以国内二次元聚集地B站为例,可以说它的UI设计非常吸引人。与其他视频网站繁复的设计相比,B站的界面设计可以说是遥遥领先 然而,总有些人对默认的用户界面感到不满意,他们渴望尝试…

Arm功耗管理精讲与实战

安全之安全(security)博客目录导读 思考 1、为什么要功耗管理?SOC架构中功耗管理示例?功耗管理挑战? 2、从单核->多核->big.LITTLE->DynamIQ,功耗管理架构演进? 3、什么是电压域?什么是电源域&#xff1f…

C#上位机与S7-200Smart通信注意事项

S7-200SMART连接 问题描述 我们使用C#开发上位机和S7-200Smart系列PLC交互数据时,大多会用到Sharp7、Snap7之类的通信类库。有些通信类库默认的使用的是PG连接资源,而对于S7-200Smart来说,它的PG连接资源只有1个。 官网200smart提到的连接数…

smart200 做client,modbus_tcp读取modbus_slave

这里还隐藏一个重要的设置,就是站地址。这个在库函数里。不同plc位置会不一样,我这里是vb1651对应modbus的地址为255,这个值我们可以自己更改,范围为1-247. 打开modbus_slave 软件,

MySQL recursive 递归

MySQL 从最内的select开始执行,但是同一个select clause可以在查询的结果上继续查询。 SELECT menu_id,parent_id,(SELECT m1.parent_id FROM sys_menu AS m1 WHERE m1.menu_idm.parent_id) FROM sys_menu AS m WHERE m.menu_id 89 方案1.通过recursive递归 使用…

Matlab 使用subplot绘制多个子图,一元拟合

实现效果: clc; clear;filename sri.xlsx; % 确认文件路径data readtable(filename); datavalue data{:,2:end}; datavalue datavalue;fig figure(Position, [0, 0, 1500, 900]); indexString ["(a)","(b)","(c)","(d)&qu…

科技感十足特效源码

源码介绍 科技感十足特效源码,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面 源码截图 源码下载 科技感十足特效源码

十大常见B端管理系统,经常用,未必能叫上名字。

常见的B端管理系统有以下几种: 客户关系管理系统(CRM): CRM系统帮助企业管理与客户相关的信息,包括客户联系信息、销售机会、市场活动等。它提供了客户数据整合、销售流程管理、客户沟通跟进等功能,帮助企…

【人工智能基础】逻辑回归实验分析

实验环境:anaconda、jutpyter Notebook 实验使用的库:numpy、matplotlib 一、逻辑回归 逻辑回归是一个常用于二分类的分类模型。本质是:假设数据服从这个分布,然后使用极大似然估计做参数的估计。 二、实验准备 引入库、预设值…

【三】Spring Cloud Ribbon 实战

Spring Cloud Ribbon 实战 概述 一直在构思写一个spring cloud系列文章,一方面是对自己实践经验进行一次完整的梳理,另一方面也是希望能够给初学者一些借鉴,让初学者少走些弯路,看到本系列博客就能够很好的把微服务系列组件用好。…

字符函数·字符串函数·C语言内存函数—使用和模拟实现

字符函数字符串函数C语言内存函数 1.字符分类函数2. 字符转换函数3. strlen的使用和模拟实现4.strcpy的使用和模拟实现5.strcat的使用和模拟实现6.strcmp的使用和模拟实现7.strncpy的模拟和实现8.strncat的实现和模拟实现9.strncmp函数使用10.strstr的使用和模拟实现11.strtok函…

【python技术】akshare爬取A股最新业绩预告保存进excel的简单示例

最近A股上市公司陆续在出年报和一季度报了, 心里寻思着要不用python把这些数据爬取下来分析下,说干就干。 数据来源网站东方财富:https://data.eastmoney.com/bbsj/ 我这个人比较懒,直接用akshare封装的方法来搞定 之前用aksha…

嵌入式单总线详解

单总线介绍 单总线,就像是电子世界里的“超级水管工”,它以一根线的简洁,完成了数据传输、设备供电乃至设备识别的多重任务,展现了极简主义的智慧与效率。想象一下,你住在一个高科技社区,所有的家电——冰…

【while循环】

目录 什么是循环 while语句的执行过程 编程求1*2*3*...*n 所有不超过1000的数中含有数字3的自然数 求数 求数II 编程求1平方2平方...n平方 什么是循环 循环就是重复做同样的事儿使用while语句循环输出1到100 int i 1; while( i < 100 ){cout <<…