Matlab, как выбрать маркеры на графике, которые слишком малы для нажатия - PullRequest
0 голосов
/ 30 октября 2018

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

Я строю график, используя

[fitresult, gof] = fit( xData, yData, ft, opts );
h = plot( fitresult, xData, yData );

1 Ответ

0 голосов
/ 30 октября 2018

Вы можете поставить свой маркер сверху с помощью uistack(marker_obj,'top'), чтобы они были нарисованы поверх линии тренда. Недостатком является то, что линия тренда будет скрыта ниже маркеров.

Кроме того, вы можете установить линию тренда так, чтобы она не была кликабельной: set(trendline_obj,'HitTest','off'). Щелчок поразит следующий объект ниже (маркер, объект осей, ...). Недостатком является то, что вы не можете иметь обратный вызов, связанный с нажатием на линии тренда. См. HitTest в документации по свойствам линии

Решение нарисовать линию сверху и выполнить обратный вызов после нажатия на нее, состоит в создании дубликата линии тренда. Нарисуйте одну копию сверху с помощью HitTest='off', а другую - снизу (под маркерами) с помощью HitTest='on' и ответный вызов. Обратный вызов будет вызываться при нажатии на участки строки, которые не покрыты маркерами.

...