Python Matplotlib 单位转换

PythonPythonBeginner
立即练习

This tutorial is from open-source community. Access the source code

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

本实验将逐步指导你学习如何使用 Python Matplotlib 对掩码数组进行单位转换。

虚拟机使用提示

虚拟机启动完成后,点击左上角切换到“笔记本”标签页,以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们会及时为你解决问题。

导入库

在这一步中,我们将导入执行单位转换和绘图所需的库。

import matplotlib.pyplot as plt
import numpy as np
from basic_units import hertz, minutes, secs

创建掩码数组

在这一步中,我们将创建一个掩码数组并将掩码应用于数据。

## create masked array
data = (1, 2, 3, 4, 5, 6, 7, 8)
mask = (1, 0, 1, 0, 0, 0, 1, 0)
xsecs = secs * np.ma.MaskedArray(data, mask, float)

创建图表

在这一步中,我们将使用具有不同单位的掩码数组创建三个图表。

## create subplots
fig, (ax1, ax2, ax3) = plt.subplots(nrows=3, sharex=True)

## plot 1
ax1.scatter(xsecs, xsecs)
ax1.yaxis.set_units(secs)

## plot 2
ax2.scatter(xsecs, xsecs, yunits=hertz)

## plot 3
ax3.scatter(xsecs, xsecs, yunits=minutes)

## set labels
ax1.set_ylabel('秒')
ax2.set_ylabel('赫兹')
ax3.set_ylabel('分钟')
ax3.set_xlabel('时间')

显示图表

在这一步中,我们将显示上一步创建的图表。

## display plot
plt.show()

总结

在本次实验中,我们学习了如何使用Python的Matplotlib对掩码数组执行单位转换。我们创建了一个掩码数组并将掩码应用于数据。我们还使用具有不同单位的掩码数组创建了三个图表并进行了显示。