Как отобразить уклон участка линии - PullRequest
0 голосов
/ 06 июня 2019

В основном у меня есть набор данных, в котором я хочу найти только наклон участка, который я нанес. Каждый ответ, который я видел, только объяснял, как создать общую линию наилучшего соответствия, однако это не имеет отношения к тому, что мне нужно.

Я использую Jupyter Notebook в python 3 с pandas, matplotlib.pyplot, numpy и импортировал linregress из scipy.stats (согласно инструкциям другого поста, объясняющим, как рассчитать наклон).

Вот рисунок, который я построил, используя два кадра данных, которые я определил как df и df2.

plt.figure(figsize=(20,10))
line1 = plt.plot(df['Time (s)'],df['Oxygen (μmol/L)'], 'b-', label='1mM Ru(Eto)(bpy) with 20eq Ce')
line2 = plt.plot(df2['Time (s)'],df2['Oxygen (μmol/L)'], 'r-', label='1mM Ru(tpy)(bpyCO)PF_6 with 20eq Ce')
plt.legend()

Мой сюжет

В основном я хочу отобразить наклон линии наилучшего соответствия, где линии не совсем плоские.

1 Ответ

0 голосов
/ 06 июня 2019

Попробуйте использовать некоторое пороговое значение, чтобы получить подмножество ваших массивов, которое не является плоским.Что-то вроде

idx = np.array([])

for i in range(len(array)):
if np.abs(array[i] - array[i+1]) > some_threshold:
   idx = np.append(idx,i)

new_array = array[idx[0]:idx[-1]]

Тогда вы можете сделать линию наилучшего соответствия на new_array

(Это не самый «чистый» способ сделать это любым способом, но этоэскиз, чтобы дать общее представление)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...