Поместите линейный объект сверху в MATLAB - PullRequest
3 голосов
/ 17 ноября 2011

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

Почему это?И как я могу заставить точки данных быть нанесенными сверху?

РЕДАКТИРОВАТЬ: Вот изображение (Есть также больше точек в середине треугольника):

enter image description here

1 Ответ

6 голосов
/ 17 ноября 2011

Есть несколько вещей, которые нужно проверить в этой ситуации.Извините за повторение всего, что вы уже пробовали.

  1. Убедитесь, что установлено hold on, так что вы фактически строите оба набора данных.

  2. Попробуйте разные доступные рендеры.То есть попробуйте следующее, по одному.

    set (gcf, 'renderer', 'opengl') set (gcf, 'renderer', 'painters') set (gcf, 'renderer','zbuffer')

    Обратите внимание, что между этими вариантами рендеринга существуют другие сделки.Например, я подозреваю, что «художники» могут обеспечить лучший рендеринг, но его обновление будет очень медленным и почти невозможно (например) повернуть.

  3. Это своего родадлинный выстрел, но попробуйте просто сделать ваши маркеры больше.То есть замените

    plot3(xdata, ydata, xdata, '.')

    на

    plot3(xdata, ydata, zdata, '.', 'markersize', 50)

  4. Если это 2D-график (я вижуот вашего редактирования, что это), то вы можете использовать третье измерение, чтобы принудительно установить правильный порядок.Все 2D элементы фактически построены в 3D, с Z = 0.Поэтому, если вы хотите, чтобы ваши маркеры располагались над поверхностью, вы можете заменить:

    plot(xdata, ydata, 'o')

    на

    plot3(xdata, ydata, 0.1, 'o')

    Поверхности и линииСчитаются очень разные предметы b Matlab и промежуточная графическая система.Для заказа таких предметов иногда требуется небольшая помощь.

...