Как изменить цвет линии графика Matlab (например, цветовую карту)? - PullRequest
6 голосов
/ 19 декабря 2011

У меня есть 2D-пространство, в котором определяется значение функции (вы можете думать о нем как о многообразии).Теперь я нарисовал значение функции с помощью contourf и изменил цветовую карту на нечто более мягкое, чем jet.Пока все выглядит неплохо.

Теперь я хочу нарисовать линию, представляющую состояние во времени в моем пространстве.Это также возможно с помощью команды plot.Но я хочу еще кое-что улучшить: есть еще одно скрытое состояние (значение 0 ... 50).Я бы хотел, чтобы цвет линии менялся в соответствии с этим скрытым состоянием.Таким образом, в некотором смысле можно применить отдельную цветовую карту к линии, нанесенной plot, как, например, на графике водопада.

Возможно ли это (или что-то подобное) с использованием matlab?

Спасибо

Ответы [ 3 ]

7 голосов
/ 19 декабря 2011

Если вы хотите использовать интерполированное затенение или изменить цвета в соответствии с картой цветов, то вы хотите отобразить данные в виде сетки и соответствующим образом установить свойство edgecolor.Обратите внимание, что для построения графика в виде меша вам нужно будет продублировать его, чтобы он имел размер не менее 2 в каждом направлении.

h = mesh([X(:) X(:)], [Y(:) Y(:)], [Z(:) Z(:)], [C(:) C(:)], ...
    'EdgeColor', 'interp', 'FaceColor', 'none');

Возможно, вы захотите взглянуть на *Свойство 1005 *, если вы хотите построить несколько линий одновременно.

Это решение также намного приятнее, чем используемое в cline, поскольку оно создает только один графический объект, а не n.

2 голосов
/ 19 декабря 2011

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

2 голосов
/ 19 декабря 2011

Посмотрите на функцию cline.m из обмена файлами, я думаю, что это именно то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...