【问题标题】:How to make plot with datetime and scipy peaks in Python?如何在 Python 中使用 datetime 和 scipy 峰值进行绘图?
【发布时间】:2020-11-27 11:05:45
【问题描述】:

我从一个问题中举了一个例子,并根据我的数据集对其进行了调整,但是在制作绘图时,我陷入了困境。我知道如何制作日期时间 + 值图,但我不知道如何进行组合。

我的回复如下:Response

示例代码如下:
示例代码:

import numpy as np                    
import matplotlib.pyplot as plt
from scipy.signal import find_peaks 

np.random.seed(42)

# borrowed from @Majid Mortazavi's answer
random_number1 = np.random.randint(0, 200, 20)
random_number2 = np.random.randint(0, 20, 100)
random_number = np.concatenate((random_number1, random_number2))
np.random.shuffle(random_number)

peaks, _ = find_peaks(random_number, height=100)

plt.plot(random_number)
plt.plot(peaks, random_number[peaks], "x")
plt.show()

我将其调整为我的实数值数据集,并且我有以下代码:
调整后的代码:

peaks, _ = find_peaks(my_dataset['quality'], height=500)

plt.figure(figsize=(14,12))
x = my_dataset.index
y = my_dataset.quality
plt.scatter(x, y, s=1,c='b',label='quality')
plt.plot(peaks, my_dataset['quality'][peaks], "x")

plt.xlabel('datetime')
plt.ylabel('values')
plt.legend(loc='best')
plt.title('Qualities')
plt.show()

最初,我的绘图代码是这样的,并且有效:
初始代码:

plt.figure(figsize=(14,12))
x = my_dataset.index
y = my_dataset.quality
plt.scatter(x, y, s=1,c='b',label='quality')

plt.xlabel('datetime')
plt.ylabel('values')
plt.legend(loc='best')
plt.title('Qualities')
plt.show()

但我需要相同的绘图,但在计算的峰值上带有“X”符号。

所以最终结果应该是这样的:(我在paint中编辑了初始图以直观地了解最终结果)

老实说,我不知道如何使它工作。你能帮帮我吗?

我非常感谢任何帮助我的努力!!!非常感谢您!

【问题讨论】:

    标签: python pandas matplotlib plot scipy


    【解决方案1】:

    作为scipy.signal.find_peaksdocumentation 报告:

    返回峰值ndarray
    x 中满足所有给定条件的峰的索引。

    您的peaks 变量是一组索引 峰值。因此,为了访问这些峰的 x 和 y 坐标,您应该替换:

    plt.scatter(x, y, s=1,c='b',label='quality')
    plt.plot(peaks, my_dataset['quality'][peaks], "x")
    

    plt.scatter(x, y, s=1,c='b',label='quality')
    plt.plot(x[peaks], y[peaks], "x")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-14
      • 1970-01-01
      • 1970-01-01
      • 2014-02-06
      • 2021-01-21
      • 1970-01-01
      • 1970-01-01
      • 2021-06-24
      相关资源
      最近更新 更多