Как сделать разные цвета в линии и маркере - PullRequest
0 голосов
/ 12 февраля 2020

Я строю две фигуры, используя:

x=linspace(-5,5,10); 
y1=2*x;
y2=x.^2;
subplot(1,2,1);
plot(x,y1,'sr-');
subplot(1,2,2);
plot(x,y2,'b-o');

Я хочу, чтобы маркер и линия имели разные цвета, такие как красная линия и черный маркер на 1-й фигуре. Тем не менее, при использовании вышеуказанного, и линия, и маркер имеют одинаковый цвет. Как сделать так, чтобы маркеры имели разные цвета от линии?

enter image description here

Ответы [ 3 ]

4 голосов
/ 12 февраля 2020

Вы можете указать пару * имя-значение * 1001 для своей команды plot():

x=linspace(-5,5,10);
y1=2*x;
y2=x.^2;
subplot(1,2,1);
plot(x,y1,'sr-','MarkerEdgeColor','b');
subplot(1,2,2);
plot(x,y2,'b-o','MarkerEdgeColor','r');

В результате:

enter image description here

Обратите внимание, что я покрасил линию "обычным" способом, включив 'r' или 'b' в исходную команду, и вручную изменил цвет маркера. Взгляните на документацию свойства линии для всех параметров, которые вы можете настроить для линии.

1 голос
/ 12 февраля 2020

Позволяет распаковать ваши команды:

вы запрашиваете sr- на вашем графике, т.е. "квадрат, красный, линия". Если мы разделим это на «квадрат» и «красная линия», вы можете получить именно тот эффект, который вам нужен:

hold on
plot(x,y1,'r-');
plot(x,y1,'sb');

В качестве альтернативы используйте предложение @ Adriaan, но конечный эффект немного отличается.

1 голос
/ 12 февраля 2020

Добавление дополнительных параметров, таких как LineWidth, MarkerSize и MarkerFacecolor, помогло:

enter image description here

...