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

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

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

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

python 复制代码
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的功能远不止于此,它还支持绘制各种复杂的图形、添加图例、设置颜色、样式等。

相关推荐
数据与人工智能律师12 小时前
数据淘金时代的法治罗盘:合法收集、使用与变现数据的边界与智慧
大数据·网络·人工智能·云计算·区块链
互联网中的一颗神经元12 小时前
小白python入门 - 9. Python 列表2 ——从基础操作到高级应用
java·开发语言·python
王哈哈^_^12 小时前
【数据集】【YOLO】【目标检测】建筑垃圾数据集 4256 张,YOLO建筑垃圾识别算法实战训推教程。
人工智能·深度学习·算法·yolo·目标检测·计算机视觉·数据集
牛奶还是纯的好13 小时前
双目测距实战4-自标定
人工智能·3d视觉
亚马逊云开发者13 小时前
基于Redshift MCP Server+Strands Agents SDK+Bedrock AgentCore Runtime实现Agentic
人工智能
Serendipity_Carl13 小时前
爬虫数据清洗可视化案例之全球灾害数据
爬虫·python·pycharm·数据可视化·数据清洗
B站计算机毕业设计之家13 小时前
计算机视觉:YOLO实现目标识别+目标跟踪技术 pyqt界面 OpenCV 计算机视觉 深度学习 计算机(建议收藏)✅
python·opencv·yolo·计算机视觉·目标跟踪·口罩识别
机器之心13 小时前
三百年几何猜想被推翻,数学家首次发现「穿不过去」的多面体
人工智能·openai
技术闲聊DD13 小时前
深度学习(15)-PyTorch torch.nn 参考手册
人工智能·pytorch·深度学习
缘友一世14 小时前
LLama 3分组查询注意力与KV缓存机制
人工智能·深度学习·缓存·transformer·llama·gqa·kv缓存