我最近花在与医生互动上的时间比我通常希望的要多,他们总是告诉我我有高血压。我以为是白大衣综合症。因此,我决定在一周内每天测量血压,记录信息,并绘制结果图(以证明我是对的)。下面是我如何使用matplotlib创建心率跟踪器的快速指南。
一些关于血压的快速信息:当读取血压时,较高的数字是收缩压读数,较低的数字是舒张压读数。更多关于这两方面的信息可以在这里找到。这两个读数都是以毫米每汞柱(mmHg)为单位测量的,我们如何让一颗行星融入我们的血液是我无法理解的…
我将Python与NumPy和Matplotlib结合使用来解析和绘制数据。Numpy作为一个用于阵列操作和数值计算的开源库,在科学界被广泛使用。Matplotlib是一个社区开发的Python绘图库,它利用了NumPy。我用标准的血压读数器获取了数据。
我将数据记录在一个外部文件中,并将其格式化为json。然后我将其导入我的程序并解析数据。您可以用类似的方式记录数据,或者简单地将数据硬编码到程序中。我的数据如下所示:
然后我迭代我的数据并填充NumPy数组。Matplotlib需要NumPy数组来打印数据。在本例中,我从数据中提取日期和心脏信息。
def解析数据日期系统直径脉冲(json数据):
我现在可以开始策划了!我将使用“日期”数组作为x轴。如果我想画一个非常基本的曲线图,我可以简单地画出我的日期和那些日子的收缩指数。我通过运行以下代码来实现这一点:
现在我有一个简单的情节!这意味着非常少,所以让我们添加更多信息。我可以使用以下功能将标签添加到绘图中:
除了收缩压读数,我还想绘制一周的舒张压读数(最好在同一张图上)。这就像第二次调用plot函数一样简单,但使用的是舒张数据。代码如下所示:
现在,这很难理解和阅读,所以让我们设计线条并提供一个图例。通过向绘图调用传递标签值,我们可以向线条和图例添加标签。我们还可以通过将linestyle值传递给plot调用来设置线条的样式。下面是最终的图表:
plt。标题(";血压";)
这周我还记录了我的脉搏,下面是我创建的一个图表,显示了我的脉搏率:
起初,我想把所有三个读数放在同一个图表上,以显示相关性。然而,血压和脉搏率是以两种不同的单位测量的,即每分钟的心跳数和每毫米的行星数。我把数据分成了两个不同的图表,因为水星不能放在图表上,但主要是为了保持数据的一致性和易读性。
我希望这是对Matplotlib的有益介绍。这对我来说是一个很好的机会,让我重新审视一些快速的业余爱好编程,同时证明自己是对的。您可以通过提供注释或增强显示效果来进一步理解这段代码。我计划最终在一个网站上发布这些信息,展示给我的医生!结果我只是得了白大衣综合症。