Нарисуйте дерево узлов (теория графов) с помощью мыши на оси и сохраните его - PullRequest
0 голосов
/ 06 апреля 2019

Я хочу как-то нарисовать взвешенное дерево узлов в Matlab и сохранить все нарисованные ребра (координаты обеих точек), чтобы использовать их позже. Для этого есть хорошая система?

Я создал оси и добавил их в графический интерфейс с помощью команды "guide". После этого я попытался сделать это в своем коде (будучи осями1 и осями, где я должен построить линии).

function axes1_ButtonDownFcn(hObject, eventdata, handles)
% hObject    handle to axes1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
pt = get(hObject,'CurrentPoint');
disp(pt);
plot(hObject,pt(1),pt(2),'o');

В результате получается, что он получает только 1-ю полученную точку, но с тех пор не распознает больше щелчков.

Я также пробовал использовать функцию imline и работает довольно хорошо, но я не знаю, как получить обе точки для их хранения.

Моя идея состоит в том, чтобы нарисовать 2 точки с помощью этого ButtonDownFcn и построить их, создавая линию, но это похоже на блокировку после команды построения.

1.- Почему блокировка этого графика вызывает ButtonDownFcn более одного раза?

2.- Есть ли хороший способ сделать это? Может быть, некоторые библиотеки? Я ничего не нашел.

Большое вам спасибо за совет.

...