MarinaAl
Апрель 10, 2017 12:25:40
Ребят, если можно, помогите тупенькому биологу. Я правда, не студент, но задача простая, вроде.
Есть измеренные экспериментально значения в определенных точках на участке озера Байкал. По сути, все участки располагались по ровной такой сетке, но значения есть далеко не в каждом пересечении х и у и с нерегулярным шагом. Очень хотелось бы сделать что-то вроде графика с изолиниями по данным значениям, где бы как на географической карте было видно распределение данных на плоскости. Ну т.е. синий цвет - наименьшие значения, красный - наибольшее и среднее между ними. Но как это сделать, если у меня нет значений всего массива, а только отдельные точки с конкретными коордиатами x,y? Я пробовала просто создавать массив из нулей и смотреть на его фоне значения, но это не то.
n = 15
m = 28
a = * n
for i in range(n):
a = * m
a=0.012727
a=0.016722
a=0.015608
a=0.014746
a=0.019719
a=0.016737
и т.д. и т.п.
cf = plt.contourf(a)
plt.colorbar(cf)
plt.show()
Как же мне сделать график, чтобы были промежуточные средние значения между точками?
MarinaAl
Апрель 10, 2017 12:27:33
Почему-то не скопировались квадратные скобки и цифры в них…
py.user.next
Апрель 10, 2017 12:36:13
MarinaAl
Почему-то не скопировались квадратные скобки
Используй теги code для кода
py.user.next
Апрель 10, 2017 15:45:14
Теперь добавь туда все импорты, чтобы мы могли код скопировать к себе и запустить.
py.user.next
Апрель 11, 2017 12:31:55
MarinaAl
Как же мне сделать график, чтобы были промежуточные средние значения между точками?
Попробуй вычислить средние значения между точками с помощью линейной интерполяции.
wiki. пример интерполяции
py.user.next
Апрель 12, 2017 03:06:58
Можно и без интерполяции вычислить средние значения (может, это просто измерения, тогда функции нет для интерполяции). Например, у тебя между точками две точки незаполненные - то есть три промежутка между известными точками. Тогда нужно найти длину промежутка и прибавлять её или отнимать в зависимости от увеличения или уменьшения значения от одной точки к другой.
Вот пример
x1 x2 x3 x4 x5 x6 x7
0.012727 ? ? 0.016722 ? ? 0.015608
x1x4mean = abs(x1 - x4) / 3 = 0.0013316667
Так как x1 < x4, мы прибавляем среднее значение к x1.
x2 = x1 + x1x4mean = 0.012727 + 0.0013316667 = 0.0140586667
x3 = x2 + x1x4mean = 0.0140586667 + 0.0013316667 = 0.0153903334
x1 x2 x3 x4 x5 x6 x7
0.012727 0.01406 0.01539 0.016722 ? ? 0.015608
x4x7mean = abs(x4 - x7) / 3 = 0.0003713333
Так как x4 > x7, мы отнимаем среднее значение от x4.
x5 = x4 - x4x7mean = 0.016722 - 0.0003713333 = 0.0163506667
x6 = x5 - x4x7mean = 0.0163506667 - 0.0003713333 = 0.0159793334
x1 x2 x3 x4 x5 x6 x7
0.012727 0.01406 0.01539 0.016722 0.01635 0.01598 0.015608