Я хочу создать линию с круглыми маркерами в каждой точке данных вне осей на рисунке MATLAB, аналогично тому, что
line([x1 x2],[y1 y2],'Color','k','Marker','o')
выдаст.
Чтобы разместить линейный объектвне осей я просто попытался использовать annotation
:
annotation('line',phi1([x1 x2]),phi2([y1 y2]),'Color','k','Marker','o')
, где phi1
и phi2
- соответствующие преобразования координат, чтобы соответствовать координатам x
и y
внутри осейтекущий показатель.
Я ожидал, что это сработает, поскольку линейные объекты имеют свойство marker
.Однако при annotation
я получаю следующее сообщение об ошибке:
Error using matlab.graphics.shape.Line/set
There is no Marker property on the Line class.
Error in matlab.graphics.chart.internal.ctorHelper (line 8)
set(obj, pvpairs{:});
Error in matlab.graphics.shape.Line
Error in annotation (line 128)
h = matlab.graphics.shape.Line(aargs{:});
Аналогично, при построении прямоугольника с помощью функции annotation
нельзя установить свойство Curvature
.Кажется, что annotation
не поддерживает эти виды свойств, даже несмотря на то, что он создает линейный или прямоугольный объект точно так же, как функции line
или rectangle
.Я попытался возиться с ручками аннотаций и детьми, но безуспешно.
Есть идеи для обхода?