Построение многозначной поверхности в Mayavi

майави

У меня есть некоторые данные, которые находятся в структурированной сетке в направлениях X и Y и неструктурированы в направлении Z. Это в виде списка точек данных, например [[x,y,z], [x2,y2,z2], ...]. Есть 2 точки, соответствующие большинству координат x, y, и данные имеют двойное значение в z-измерении. Я хотел бы построить эту форму как замкнутую поверхность и, если возможно, удалить одну из стен.

Я попробовал совет здесь: http://docs.enthought.com/mayavi/mayavi/auto/example_surface_from_irregular_data.html#example-surface-from-irregular-data

Когда я пытаюсь это сделать, только нижняя половина графика покрыта поверхностью. Я также получаю это сообщение, которое я не понимаю: No handlers could be found for logger "mayavi.core.common". Я хотел бы знать, почему это так.

Я попытался нарисовать верхнюю и нижнюю поверхности отдельно, но это выглядит немного некрасиво. Вот как это выглядит: две поверхности, построенные независимо

matplotlib

Я также пытался свести свои данные в сетку и следовать советам, используя демонстрации matplotlib. Я не могу опубликовать ссылку на это, потому что у меня нет репутации, но если вы погуглите демоверсии matplotlib plot3D, это будет в первом результате.

Я не могу заставить это произвести что-нибудь разумное. Я думаю, это потому, что я действительно не понимаю, как можно адаптировать пример сферы на этой веб-странице для работы с данными, а не с функцией.

Вопрос

  • как я могу адаптировать код, который у меня есть по ссылке, которую я предоставил, для создания графика замкнутой поверхности?

  • или как я могу использовать matplotlib для создания закрытой поверхности?

  • Или есть какая-то другая программа/функция, которую я должен использовать для такого рода проблем?


person Toby Searle    schedule 20.12.2013    source источник
comment
Подразумевает ли неструктурированный в Z наличие координат Z для точек, отличных от определенных сеткой X-Y? Можете ли вы предоставить данные, которые хотите построить?   -  person Jakob    schedule 21.12.2013
comment
Ваш сюжет Mayavi выглядит так, как будто есть проблема с порядком точек.   -  person Jakob    schedule 21.12.2013
comment
Спасибо за вашу помощь! В конце концов я решил эту проблему, перевернув свои данные на бок и интерполировав значения z в сетку. Затем я использовал ось x для построения данных с помощью функции поверхности. Я думаю, что это может быть проблема с порядком точек (данные упорядочены в виде полос точек, идущих вдоль фигуры в направлении x), но мне еще не удалось это проверить.   -  person Toby Searle    schedule 20.02.2014