Как добавить элементы легенды в Matlab в сам сюжет - PullRequest
0 голосов
/ 12 декабря 2018

Я хочу как-то пометить вертикальные линии в Matlab.Я мог бы представить два варианта: либо располагать записи легенды непосредственно рядом с каждой вертикальной линией, либо располагать вертикальные линии на графике с нумерацией, а затем повторять номера в легенде.Возможно ли что-то из этого?

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

x - вектор чисел даты, а y - данные о цене.Date1 и Date2 являются датами, которые являются элементом x.

plot(x,y), grid on;
dateaxis('x',17);
line([Date1 Date1], ylim); % I would like to have a legend entry for this right at the line in the graph
line([Date2 Date2], ylim); % I would like to have a legend entry for this right at the line in the graph
legend('Price');

1 Ответ

0 голосов
/ 12 декабря 2018

Я думаю, что вы, вероятно, хотите использовать text объекты вместо легенды.Вот пример (обратите внимание, что мне пришлось использовать datetick вместо dateaxis, потому что у меня нет Financial Toolbox ):

% Some sample data:
x = datenum(now():(now()+days(6)));
y = 1:7;

% Plot data:
plot(x, y);
grid on;
datetick('x');

% Make horizontal red lines:
line([x(1) x(1)], ylim, 'Color', 'r');
line([x(end) x(end)], ylim, 'Color', 'r');

% Add text:
text(x(1), mean(ylim), ' left');
text(x(end), mean(ylim), 'right ', 'HorizontalAlignment', 'right');

И получившийся участок:

enter image description here

...