Я использую matplotlib
и numpy
, и я делаю графики.Я использую формат данных .csv
.В используемом мной файле csv
есть три столбца.Интересно, есть ли способ импортировать данные только до пиковых / минимальных значений одного из моих столбцов?
Контекст: я использую желоба Ленгмюра с липидными монослоями и сжимаю и расширяю барьеры для увеличения / уменьшения области. Я пытаюсь изобразить давление и флуоресценцию в этой области.Тем не менее, программа, которая принимает эти данные, выполняет полный цикл сжатия и расширения, и я не могу остановить сбор данных просто, когда впадина находится на минимальной площади.Поэтому я хотел бы, чтобы Python импортировал только до тех пор, пока значение области не достигнет своей нижней точки.
example of how my data looks
Area | Presure | Intensity
12500 |3 | 1
11500 |6 | 12
etc |8 |25
3000 |12 |38
3500 |19 |54 <==want it to stop importing here
4500 |16 |47
Возможно ли это?
Я добавил, что Phiпоставил и не работает?Я все еще получаю все значения, включенные в мой код графиков, выглядит как этот импорт matplotlib.pyplot как plt import numpy как np import pandas как pd
df = pd.read_csv("C:\\Users\\Owner\\Desktop\\Thunberg,Dametre\\5-29 Data and
movies\\New folder (2)\\Data 2.csv", sep=',')
rowmin = df.area.idxmax()
df[:(1 + rowmin)]
fig, ax1 = plt.subplots()
area, pressure, pixel = np.loadtxt
("C:\\Users\\Owner\\Desktop\\Thunberg,Dametre\\5-29 Data and movies\\New
folder
(2)\\Data 2.csv", delimiter=",", skiprows=1, unpack=True)
plt.plot(area,pressure, label='area/pressure!',color='b')
plt.xlabel('area', color='b')
plt.ylabel('Pressure', color='b')
ax1.tick_params('y', colors='b')
ax2 = ax1.twinx()
this ax2 creates a second x axis
ax2.set_ylabel('Intensity (measured by average pixel value)', color='r')
this labels the secondary axis and chooses its color
ax2.tick_params('y', colors='r')
this Chooses the color of the ticks in the axis
ax2.plot(area,pixel, color='r')
this is what actually plots the second graph of area vs intensity
plt.title('Kibron Trough Pressure-Area-Intensity Graph')
plt.legend()
plt.show()