java - 如何在 Java 中的另一个信号之上绘制峰值数组?
问题描述
我有一个 ECG 信号,该信号的 R 峰存储在我的 Java 应用程序的一个数组中。峰值作为 ECG 信号的样本索引给出。
我想用另一种颜色标记的峰值绘制心电图。我当前的代码只显示心电图曲线,但看不到峰值。它没有给出任何错误,但一定有问题
public void ConfigureGraph() {
final GraphView graph = findViewById(R.id.graphview);
graph.getViewport().setScalable(true);
LineGraphSeries<DataPoint> series1 = new LineGraphSeries<>();
LineGraphSeries<DataPoint> series2 = new LineGraphSeries<>();
series1.setDrawDataPoints(true);
series2.setDrawDataPoints(true);
series2.setDataPointsRadius(10);
series2.setThickness(8);
ArrayList<Double> myDatan=readFileNorm(); //This is my ECG
LinkedList<Integer> myPeaks= PanTompkins.findPeaks(myDatan); //Those are my peaks
int numberofdatapoints = 20000;
double x=0;
double y;
for(int i=0; i<numberofdatapoints; i++){ //Plot the ECG
x = x + 0.004;
y = myDatan.get(i);
series1.appendData(new DataPoint(x,y),true,20000);
for(int p=0; p<myPeaks.size(); p++) { //Add the peaks to plot
if(y == myPeaks.get(p)){
series2.appendData(new DataPoint(x,y),true,20000);
}
}
}
graph.addSeries(series1);
graph.addSeries(series2);
}
在这里可以看到心电图,我查看了一系列峰值,看起来应该可以工作。第一个峰值指数为54,与峰值54*0.004 = 0.216吻合;下一个是 193*0.004=0.772。
解决方案
推荐阅读
- python - 仅捕获 *one* KeyboardInterruptException
- core-data - 通过 IndexPath 从核心数据中获取对象
- android - 带有附加集的 aws mobilehub no-sql 批量更新
- jquery - 获取工具提示在禁用的选项卡内工作
- android - android.support.design.widget.BottomNavigationView 如何更改未选中项目的图标而不仅仅是色调
- unit-testing - 如何设置赛普拉斯进行单元测试?
- python - 错误 python 包版本:RequestsDependencyWarning:urllib3 (1.7.1) 或 chardet (2.0.1) 与支持的版本不匹配
- java - Gradle 不会用 gradle.properties 变量填充文件
- visual-studio - 在 Unity3D 中单击角色时创建弹出菜单 Sims 的样式
- jekyll - Jekyll/Rouge - 突出显示的嵌套代码块