LINUX.ORG.RU

Octave, print и надписи на графиках

 


0

3

Привет!

Столкнулся с проблемой в октаве. Когда отрисовываю график с подписями в кириллице, проблем нет, все отображается как и задуманно.

Но ежели попытаться сохранить график в файл

xlabel('U_{зи}, В')
ylabel('I_{с}, мА')
print('plot', '-dpng')
то надписи деформируются и из них пропадает кириллица (вместо неё — прочерки), print никаких ошибок не возвращает.

Пробовал разные форматы — в png, jpg и eps результат одинаков.

Картинки: как должно быть и как сохраняется.

Кто сталкивался с подобным? Как быть?


У меня такая проблема. Как решить - хз, самому интересно. Но в качестве обходного пути сохраняю в pdf с помощью

graphics_toolkit("gnuplot");
print("plot.pdf", "-dpdfcairo", "-F:14");

maked0n
()

Мимокрокодил

Через что рендеришь? У меня в R была подобная проблема (суть та же, на экране кириллица ок, в файле нет), исправилась сменой бекенда на Cairo.

Stil ★★★★★
()
Ответ на: комментарий от maked0n

dpdfcairo

Lol :D

А выставить cairo в качестве бекэнда для пнг в октаве нельзя?

Stil ★★★★★
()
Последнее исправление: Stil (всего исправлений: 1)
Ответ на: Мимокрокодил от Stil

Через стандартный октавовский графопостроитель.

ffomg
() автор топика
Ответ на: комментарий от maked0n

А других вариантов, похоже, и нет.

В итоге я остановился на похожем решении:

graphics_toolkit("gnuplot");
...
print('plot/test', '-dpngcairo');

Получается вполне сносно, да и леший с ним.

Всем спасибо за помощь!

ffomg
() автор топика

В оффтопике в Octave 4 мне эту проблему победить не удалось. В SciLab почему-то такой проблемы нет. Синтаксис у них во многом схожий. Вместо print для экспорта используется xs2<format> (png,jpg,svg,eps,pdf):

xs2png(0, 'out.png')
, где первый параметр (в данном случае 0) - номер окна.

Ещё в Octave почему-то при попытке поместить на 3-мерный график (mesh, surf) подписи посредством xlabel(«x») и т.д. ругается на выход за пределы массива и не отрисовывает следующие элементы.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.