График plot, координаты и время
Модератор: Admin
График plot, координаты и время
Добрый день. Рисую график plot(x,y), где x,y получаю из рабочей области. Вопрос. Можно ли (если да, то как) добавить в отображение на самом графике третий параметр - время?
Re: График plot, координаты и время
Трехмерный график?
Или на двухмерном графике точки подписать на самом графике?
Или на двухмерном графике точки подписать на самом графике?
Помощь в Матлабе / Matlab, Qt за деньги.
Помощь в html, css, jquery, MVC за деньги.
Помощь в C# / C sharp / Си шарп за деньги.
Вконтакте: https://vk.com/id122995106
или Личное сообщение на форуме.
http://ПунктыПроката.рф
Помощь в html, css, jquery, MVC за деньги.
Помощь в C# / C sharp / Си шарп за деньги.
Вконтакте: https://vk.com/id122995106
или Личное сообщение на форуме.
http://ПунктыПроката.рф
Re: График plot, координаты и время
Jey писал(а):Трехмерный график?
Или на двухмерном графике точки подписать на самом графике?
Подписать на двумерном графике
Re: График plot, координаты и время
Deshem писал(а):Jey писал(а):Трехмерный график?
Или на двухмерном графике точки подписать на самом графике?
Подписать на двумерном графике
https://www.mathworks.com/help/matlab/ref/text.html
Помощь в Матлабе / Matlab, Qt за деньги.
Помощь в html, css, jquery, MVC за деньги.
Помощь в C# / C sharp / Си шарп за деньги.
Вконтакте: https://vk.com/id122995106
или Личное сообщение на форуме.
http://ПунктыПроката.рф
Помощь в html, css, jquery, MVC за деньги.
Помощь в C# / C sharp / Си шарп за деньги.
Вконтакте: https://vk.com/id122995106
или Личное сообщение на форуме.
http://ПунктыПроката.рф
Re: График plot, координаты и время
Jey писал(а):Deshem писал(а):Jey писал(а):Трехмерный график?
Или на двухмерном графике точки подписать на самом графике?
Подписать на двумерном графике
https://www.mathworks.com/help/matlab/ref/text.html
Не совсем то, что нужно.
https://ibb.co/FxbxFp8
Вот у меня есть какая-то траектория. Когда навожу мышку на любую точку траектории, он показывает ее координаты. Так вот, можно ли третьей строчкой показать время в этот момент?
Re: График plot, координаты и время
Наверное как-то так удастся
https://www.mathworks.com/help/matlab/creating_plots/create-custom-data-tips.html
https://www.mathworks.com/help/matlab/creating_plots/create-custom-data-tips.html
С уважением
Александр Сергиенко
Александр Сергиенко
Re: График plot, координаты и время
sandy писал(а):Наверное как-то так удастся
https://www.mathworks.com/help/matlab/creating_plots/create-custom-data-tips.html
Вот это то, что нужно. Жаль, что это введено в 2019 матлабе. У меня 2018. Но информация есть, может что-то придумаю. Спасибо
Re: График plot, координаты и время
Что значит "введено"? Там же ясно написано: "If you are using R2018b or earlier, customize the data tips by setting the UpdateFcn property of the datacursormode object instead of using the DataTipTemplate object." Просто посмотрите соответствующий пример в документации от своей версии.
С уважением
Александр Сергиенко
Александр Сергиенко
Re: График plot, координаты и время
sandy писал(а):Что значит "введено"? Там же ясно написано: "If you are using R2018b or earlier, customize the data tips by setting the UpdateFcn property of the datacursormode object instead of using the DataTipTemplate object." Просто посмотрите соответствующий пример в документации от своей версии.
Введено - значит функция DataTipTemplate появилась в матлабе 2019, а datacursormode не добавляет строчку
Re: График plot, координаты и время
datacursormode не добавляет строчку
Почему не добавляет? Сколько строчек напишете, столько и будет. Проблема в том, как нужные данные внутрь передать, это да. Вот сейчас в R2014a попробовал примерчик сделать с вложенными функциями, работает. Приведенный ниже код нужно сохранить в файл с именем datacursor_example.m
Код: Выделить всё
function datacursor_example
fig = figure;
t = 0:0.01:1;
x = cos(2*pi*t);
y = sin(4*pi*t);
plot(x,y)
dcm_obj = datacursormode(fig);
set(dcm_obj,'UpdateFcn',@datacursor_updatefcn)
function txt = datacursor_updatefcn(~, event_obj)
pos = get(event_obj,'Position');
ind_x = find(pos(1)==x);
ind_y = find(pos(2)==y);
ind = intersect(ind_x, ind_y);
if isempty(ind)
str_t = 'Time: not found';
else
ind = ind(1);
str_t = sprintf('Time: %g', t(ind));
end
txt = {['X-Position: ',num2str(pos(1))],...
['Y-Position: ',num2str(pos(2))], str_t};
end
end
С уважением
Александр Сергиенко
Александр Сергиенко
Re: График plot, координаты и время
sandy писал(а):datacursormode не добавляет строчку
Почему не добавляет? Сколько строчек напишете, столько и будет. Проблема в том, как нужные данные внутрь передать, это да. Вот сейчас в R2014a попробовал примерчик сделать с вложенными функциями, работает. Приведенный ниже код нужно сохранить в файл с именем datacursor_example.mКод: Выделить всё
function datacursor_example
fig = figure;
t = 0:0.01:1;
x = cos(2*pi*t);
y = sin(4*pi*t);
plot(x,y)
dcm_obj = datacursormode(fig);
set(dcm_obj,'UpdateFcn',@datacursor_updatefcn)
function txt = datacursor_updatefcn(~, event_obj)
pos = get(event_obj,'Position');
ind_x = find(pos(1)==x);
ind_y = find(pos(2)==y);
ind = intersect(ind_x, ind_y);
if isempty(ind)
str_t = 'Time: not found';
else
ind = ind(1);
str_t = sprintf('Time: %g', t(ind));
end
txt = {['X-Position: ',num2str(pos(1))],...
['Y-Position: ',num2str(pos(2))], str_t};
end
end
Спасибо. Попробую