Как изменить цвет линии графика matlab (например, colormap)?
у меня есть 2D-пространство, в котором определено значение функции (вы можете думать об этом как о многообразии). Теперь я построил значение функции с помощью contourf и изменил цветовую карту на что-то более мягкое, чем jet. Пока выглядит неплохо.
теперь я хочу нарисовать линию, представляющую состояние во времени в моем пространстве. Это также возможно с помощью . Но я хочу еще несколько улучшений: есть дополнительное состояние, которое пока скрыто (значение 0...50). Я хотел бы цвет линии для изменения в соответствии с этим скрытым состоянием. Поэтому в некотором смысле применить отдельную цветовую карту к линии, построенной по plot
как, например, на участке водопада.
возможно ли это (или что-то подобное) с помощью matlab?
спасибо
3 ответов
посмотреть в Клайн.м функция от обмена файлами, я думаю, что это именно то, что вам нужно.
если вы хотите использовать интерполированное затенение или изменить цвета с помощью цветовой карты, то вы хотите построить свои данные в виде сетки и установить edgecolor
свойство соответствующим образом. Обратите внимание, что для того, чтобы построить его как сетку, вам нужно будет дублировать его так, чтобы он имел размер не менее 2 в каждом направлении.
h = mesh([X(:) X(:)], [Y(:) Y(:)], [Z(:) Z(:)], [C(:) C(:)], ...
'EdgeColor', 'interp', 'FaceColor', 'none');
вы также можете посмотреть на MeshStyle
свойство, если вы хотите построить несколько строк одновременно.
это решение также много лучше, чем тот, который используется в cline
, потому что он создает только один графический объект, а не n
.
и цветная линия ввода из файла обмена. Он имеет хорошую обратную связь и использует цветовую карту для определения отображаемых цветов, я успешно использую ее в ряде проектов.