Ваша проблема исходит от звонка на сглаживание. Функция flatten библиотеки matplotlib преобразует двумерный массив в одномерный массив. Однако по умолчанию это выполняется в строчном порядке (https://numpy.org/doc/1.18/reference/generated/numpy.ndarray.flatten.html).
In [1]: a = [1000,5125.5]
In [2]: b = [3333,5888]
In [3]: import numpy as np
In [4]: np.linspace(a,b,10)
Out[4]:
array([[1000. , 5125.5 ],
[1259.22222222, 5210.22222222],
[1518.44444444, 5294.94444444],
[1777.66666667, 5379.66666667],
[2036.88888889, 5464.38888889],
[2296.11111111, 5549.11111111],
[2555.33333333, 5633.83333333],
[2814.55555556, 5718.55555556],
[3073.77777778, 5803.27777778],
[3333. , 5888. ]])
In [5]: np.linspace(a,b,10).flatten()
Out[5]:
array([1000. , 5125.5 , 1259.22222222, 5210.22222222,
1518.44444444, 5294.94444444, 1777.66666667, 5379.66666667,
2036.88888889, 5464.38888889, 2296.11111111, 5549.11111111,
2555.33333333, 5633.83333333, 2814.55555556, 5718.55555556,
3073.77777778, 5803.27777778, 3333. , 5888. ])
Как видите, это означает, что он преобразует ваши данные в формат, отличный от того, который вы ожидают.
Есть несколько способов изменить порядок. 1) Согласно https://numpy.org/doc/1.18/reference/generated/numpy.ndarray.flatten.html вы можете использовать упорядочивание по фортрану (по столбцам) при сведении
2) Вы можете транспонировать данные перед сведением RFRange = RFRange.T.flatten()
/ RFRange = RFRange.transpose().flatten()
3) Вы можете добавить второй l oop при добавлении и добавлении непосредственно из 2D-массива. Я бы посоветовал избегать этого метода. Это нормально для 10 точек, однако большие циклы могут быть довольно медленными в python, поэтому лучше использовать встроенные функции python, где это возможно. Например, в этом случае массив numpy1d можно легко преобразовать в список с помощью следующей команды: RFArray = list(RFRange)