Как избежать отсечения маркера в Matlab при сохранении двухосевой фигуры в PDF? - PullRequest
0 голосов
/ 09 сентября 2018

У меня возникли проблемы при экспорте двухосной фигуры с Matlab в pdf. Следующий пример кода прекрасно работает при создании рисунка в Matlab. Но в сгенерированном pdf-файле все мои красные маркеры на оси x обрезаются (см. Скриншот). Любопытно, что эта проблема возникает только тогда, когда я использую двухосевой график

Вот скриншот моей фигуры

fig = figure;
x = linspace(0,25);
y = sin(x/2);
marker = linspace(0,25,5);
yyaxis left
plot(x,y,'g');
hold on;
r = x.^2/2;

yyaxis right
plot(x,r,'b');
hold on;
plot(marker,0,'rx','Markersize', 8);

saveas(gcf,'myfigure.pdf');

Может кто-нибудь помочь мне здесь?

1 Ответ

0 голосов
/ 16 сентября 2018

Я вошел в это несколько раз, супер разочарование. Я обычно пробовал некоторые из приведенных ниже вариантов, и в конце концов что-то работает. Несколько вещей, чтобы попробовать:

  1. Печать в формате png, затем преобразование в PDF с gimp или чем-то подобным (где 300 представляет 300 dpi):

    print(handle, savefilename, ‘-dpng’, ‘-r300’)
    
  2. Печатайте как векторное изображение с помощью рендера художников, затем конвертируйте в PDF с gimp:

    print(handle, savefilename, ‘-depsc’, ‘-painters’)
    
  3. Попробуйте изменить маркер на другую форму, или размер, или оба (используя, например: 'markersize', 3, 'marker', 's')

Удачи. Дайте нам знать, что в конечном итоге это исправить!

...