[英]How to extract specific points in Matplotlib graph? (python)
From an image, I have computed a mean value over each column and created a graph. 从图像中,我计算了每一列的平均值并创建了一个图形。 This is the output (without letters and marked points). 这是输出(没有字母和标记点)。
Most graphs have a behavior like graphs marked with blue, green and red color. 大多数图形的行为类似于标有蓝色,绿色和红色的图形。 From those graphs, I would like to extract point C . 我想从这些图中提取点C。 But sometimes A is extracted instead of C. Therefore I would like to find an unambiguous solution. 但是有时会提取A而不是C。因此,我想找到一个明确的解决方案。
Idea: 理念:
Problem: 问题:
Edit #1 编辑#1
The light blue curve being completely different, I would start by detecting it. 浅蓝色曲线完全不同,我将从检测到它开始。 Fir that I would use three time points (50, 700 and 1400). 冷杉,我将使用三个时间点(50、700和1400)。 You see that the values |V50-V700|, |V700-V1400| 您会看到| V50-V700 |,| V700-V1400 | are completely different for the two types of curves (Blue green red versus light blue). 这两种曲线类型(蓝绿红与浅蓝)完全不同。
Then you can detect the A, B and C points. 然后,您可以检测到A,B和C点。 They are characterized by the important and sudden variations (so gradient). 它们的特征是重要且突然的变化(如此梯度)。 I would start by using a median filter in order to denoise a little bit your signals, and then I would compute the signal gradient. 我将首先使用中值滤波器来对您的信号进行降噪,然后再计算信号梯度。 A, B and C are going to be the three points with the biggest gradients. A,B和C将成为梯度最大的三个点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.