Изменить легенду о фигуре Matlab - PullRequest
0 голосов
/ 08 ноября 2018

Я хотел бы изменить стиль легенды для следующего изображения, сгенерированного в Matlab:

x1=-5;
x2=5;
y1=-5;
y2=5;
x = [x1, x2, x2, x1, x1];
y = [y1, y1, y2, y2, y1];
fill(x,y,'b')
legend('A')

enter image description here

Как видите, легенда отображает синий прямоугольник. То, что я хотел бы, это заполненный синий круг вместо прямоугольника , как если бы изображение было сгенерировано как график рассеяния . Как я могу получить это?

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

@ У Бебса хорошее решение.

Еще одно предложение - изменить значок легенды:

[a,b] = legend('A');
b(2).Xdata = sin(-pi:0.1:pi)/10+0.4;   % you can play with numbers to set size and location of circle
b(2).Ydata = cos(-pi:0.1:pi)/5+0.5;

Теперь вы можете установить некоторые другие свойства:

b(2).LineWidth = 1;         % thicker line
b(2).FaceColor = [1 1 1];   % white fill
b(2).EdgeColor = [0 0 1];   % blue edge

enter image description here

0 голосов
/ 08 ноября 2018

Я бы предложил добавить фиктивное значение с помощью hold on; p = plot(NaN, NaN, 'b.', 'MarkerSize', 15);, а затем обозначить этот конкретный "поддельный" сюжет с помощью: legend(p, 'A');

x1=-5;
x2=5;
y1=-5;
y2=5;
x = [x1, x2, x2, x1, x1];
y = [y1, y1, y2, y2, y1];
fill(x,y,'b');
hold on; p = plot(NaN, NaN, 'b.', 'MarkerSize', 15);
legend(p, 'A')

fill and legend

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