, несмотря на использование функции поиска, я не смог найти ответ.У меня есть два предположения, но я не знаю, насколько они могут применяться.Теперь проблема:
Я бы хотел построить контур.Для этого у меня есть следующий код Python:
import numpy as np
import matplotlib.pyplot as plt
xi=list_of_distance
yi=list_of_angle
x = np.arange(0,54,0.2)
y = np.arange(0,180,2.0)
Z = np.histogram2d(xi,yi,bins=(274,90))
X, Y = np.meshgrid(x, y)
plt.contour(X,Y,Z)
plt.ylabel('angles')
plt.xlabel('distance')
plt.colorbar()
plt.show()
xi и yi - списки, содержащие значения с плавающей точкой.x и y определяют «интервалы» ... например: x генерирует список со значениями от 0 до 54 с шагом 0,2, y генерирует список со значениями от 0 до 180 с шагом 2,0
с ZI makeиспользование функции NumPy для создания 2D-гистограмм.На самом деле это, кажется, место, которое вызывает проблемы.
Когда вызывается функция plt.contour (X, Y, Z), появляется следующее сообщение об ошибке:
..Файл "/usr/lib/pymodules/python2.7/numpy/ma/core.py", строка 2641, в new _data = np.array (data, dtype = dtype, copy = copy,subok = True, ndmin = ndmin) ValueError: установка элемента массива с последовательностью.
Теперь предположим, что может вызвать эту проблему:
- Кажется, что это такожидает массив, но вместо numpy-массива он получает список
или
У нас есть строка, которая короче других (я пришел к этой мысли, после того, как коллега столкнулся с такой проблемой год назад - там это было исправлено, выяснив, что последний ряд был на 2 элемента короче, чемвсе остальные ...)