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

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-28 08:06:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-28 08:06:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-28 08:06:01       82 阅读
  4. Python语言-面向对象

    2024-04-28 08:06:01       91 阅读

热门阅读

  1. 自然语言处理的发展历程

    2024-04-28 08:06:01       37 阅读
  2. 重庆市工程技术建设专业职称申报条件

    2024-04-28 08:06:01       35 阅读
  3. uniapp中action与mutation的区别

    2024-04-28 08:06:01       35 阅读
  4. 垃圾的flinkcdc

    2024-04-28 08:06:01       34 阅读
  5. C++二维数组arr[3][4]与arr(3, vector<int>(4))的差异

    2024-04-28 08:06:01       30 阅读
  6. Web开发基础概念

    2024-04-28 08:06:01       39 阅读
  7. 基于单片机的煤气泄漏报警系统设计

    2024-04-28 08:06:01       30 阅读
  8. Windows Server2019安全基线等保参考要求

    2024-04-28 08:06:01       33 阅读
  9. OpenMesh 网格主曲率计算

    2024-04-28 08:06:01       34 阅读