我是一家医院教育部门的实习生,我的任务是将 davenport 图变成一个有效的交互式工具,以便教师可以在他们的演示中使用它。
我没有这个级别的化学或方程求解的背景/知识。
有问题的达文波特图:http: //imgur.com/Lo87Aib(没有足够的声誉来发布图片)
我已经用了几天了,并取得了很大的进步,我使用 Flot.js 和 jQuery 来实现几乎相同的克隆,具有拖放数据点的能力,而且使用用户输入并更改要点。
从昨天开始,我遇到了一个障碍,我在谷歌上搜索了很多,并访问了许多基于化学的网站,只是为了了解这个图表使用的公式。该图使用 Henderson-Hasselbalch 方程(链接 1)。
现在我的第一个问题是,我可以使用基于简单坐标的系统绘制数据点,即 x = 7.20,y = 8,因此患者患有代谢性酸中毒。但是,我什至不知道如何开始构建一个还包含 PCO2 值(红线)的公式。
我的第二个问题是,只有在第一个问题得到解决的情况下才有可能,我如何将该公式转换为 Flot.js 使用的坐标系?
即使只是轻轻地朝正确的方向轻推我也会对我有很大帮助
编辑1:(工作解决方案)
我设法使用 Mark 提供的示例构建了一个工作工具。由于我只需要绘制一个点,因此我将公式从它们各自的 for 循环中取出。
$(".davenportInput").change(function() {
// replace the , with . so Flot/math can actually use it
var iX = $("#inputX").val().replace(',','.'); // pH
//var iY = $("#inputY").val(); // HCO3/HCOmm
var iA = $("#inputA").val(); // PCO2
var HCOmm = 0.03 * iA * Math.pow(10, iX - 6.1);
var pH = 6.1 + Math.log10(HCOmm / (0.03 * iA));
$("#inputY").val(HCOmm.toFixed());
updatePoint(pH, HCOmm); // Draws the x,y coordinates
});