我从一个问题中举了一个例子,并将其适应我的数据集,但当涉及到绘制绘图时,我陷入了困境。我知道如何制作日期时间+值图,但我不知道如何进行组合。
我得到的答复如下:Response https://datascience.stackexchange.com/a/41634/80520.
该示例有以下代码:
示例代码:
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”符号。
So the final result should be something like this: (I edited the initial plot in paint for a visual idea of the final result)
老实说,我不知道如何让它发挥作用。你能帮我么?
我非常感谢任何帮助我的努力!非常感谢您!