Matlab: размещение обведенного числа на графике

Я хочу поставить число в кружке на графике в качестве маркера около(но не на) точке. Звучит просто, но я также хочу быть инвариантным к изменениям масштабирования/соотношения сторон.

Из-за этого инварианта я не могу нарисовать круг как линейный объект (без перерисовки его при изменении масштаба); если я использую маркер круга, мне придется настроить его смещение при изменении масштаба.

Самый простой подход, который я могу придумать, это использовать символы Unicode или Wingdings ① ② ③ и т. д. в строке для функции text(). Но Unicode, похоже, работает неправильно, и следующий пример работает только с ①, а не с другими числами (которые дают прямоугольники):

работает:

clf; text(0.5,0.5,char(129),'FontName','WingDings')

не работает (должно быть обведено 2) :

clf; text(0.5,0.5,char(130),'FontName','WingDings')

Что дает и может ли кто-нибудь предложить обходной путь?

6
задан Jason S 30 May 2012 в 14:31
поделиться