Matplotlib 如何在12个月的坐标轴上绘制年度数据

Matplotlib 如何在12个月的坐标轴上绘制年度数据

在本文中,我们将介绍如何使用Matplotlib中的Python绘制一个图表,该图表可以显示年度数据,并以12个月的坐标轴显示。

阅读更多:Matplotlib 教程

准备工作

在开始之前,我们需要先安装Matplotlib库。安装方法可以到Matplotlib官网中查看,也可以使用pip进行安装:

pip install matplotlib

安装好Matplotlib之后,我们就可以开始绘图工作了。

代码实现

在本节中,我们将介绍一个简单的Python代码,用来绘制一个基本的年度数据图表。

import matplotlib.pyplot as plt
import numpy as np

# 生成数据
years = np.array([2016, 2017, 2018, 2019, 2020])
data = np.array([10, 20, 30, 40, 50])

# 绘制图表
fig, ax = plt.subplots()
ax.plot(years, data)

# 设置X轴刻度
ax.set_xticks(years)
ax.set_xticklabels(years, rotation=45)

# 设置图表标题和坐标轴标签
ax.set_title('Yearly Data')
ax.set_xlabel('Year')
ax.set_ylabel('Data')

plt.show()

在上面的代码中,我们首先生成了一个包含5个年份和对应数据的数组。然后,我们使用Matplotlib中的plot()函数绘制了这个数组的线性图表。接着,我们使用set_xticks()函数和set_xticklabels()函数来为X轴设置刻度和标签。最后,我们为图表设置了标题和X、Y轴标签。

这个图表可以很清晰地展示不同年份之间的数据变化趋势,但它并未按月份进行排序或绘制月度数据。下一节中,我们将介绍如何将年度数据绘制在12月份的坐标轴上。

在12个月份的坐标轴上绘制年度数据

要将数据绘制在12个月份的坐标轴上,我们需要用到Matplotlib中的一个叫“Locator”和“Formatter”的组合对象。Locator对象用于控制坐标轴上的数据点位置,而Formatter对象用于控制坐标轴上的标签显示。

代码实现如下:

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.dates as mdates

# 生成数据
years = np.array([2016, 2017, 2018, 2019, 2020])
data = np.array([10, 20, 30, 40, 50])

# 将年份转换为datetime对象
years = np.array([np.datetime64(str(year)) for year in years])

# 绘制图表
fig, ax = plt.subplots()
ax.plot(years, data)

# 设置X轴为月份
ax.xaxis.set_major_locator(mdates.MonthLocator())
ax.xaxis.set_major_formatter(mdates.DateFormatter('%b'))

# 设置图表标题和坐标轴标签
ax.set_title('Yearly Data')
ax.set_xlabel('Month')
ax.set_ylabel('Data')

plt.show()

在上面的代码中,我们首先使用NumPy的datetime64数据类型将年份数据转换为日期数据。然后,我们使用MonthLocator对象将X轴转换为月份,并使用DateFormatter对象格式化X轴标签为月份的缩写。最后,我们为图表设置了标题和X、Y轴标签。

这个图表清晰地展示了每个月份的数据值,并且可以很容易地看出数据的增长趋势和变化周期。

总结

通过本文,我们学习了如何使用Matplotlib库在12个月的坐标轴上绘制年度数据。我们介绍了如何使用Locator和Formatter对象将年份数据转换为月份数据,并在坐标轴上格式化标签。通过本文学习,读者将能够更好地掌握Matplotlib中的数据可视化操作,并且能够熟练绘制带有时间轴的数据图表。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程