У меня проблема с сохранением рисунка Matlab как ".svg" и последующим открытием его в Inkscape.Точнее, мне нужно два участка для определенной высоты, то есть 6 см.Это можно сделать в Matlab, установив свойство «Положение» (и установив единицы измерения в «сантиметры»).Это все работает, как и ожидалось, и я затем экспортирую фигуру как «.svg»
Проблема в том, что когда я импортирую фигуру в Inkscape, длина осей близка к значению, которое я установил, но не правильно.Т.е. я установил 6 см, а в Inkscape - 6,28.Это не является большой ошибкой, но она полностью отрицает цель ее определения.Есть идеи?
Я пытался экспортировать рисунок несколькими разными способами, но результат всегда одинаков.
figure('name','representative plasticity figure');
set(gcf,'Color','w','units','centimeters','position',...
[0 0 8.6 8.4],'PaperPositionMode','auto');
s1=subplot(2,1,1)
img = imagesc(magic(8)); hold on;
set(gca, 'TickDir','out','FontSize',8.5,'LineWidth',0.59,'TickLength'...
,[0.03 0.00001]);
c1 = colorbar; c1.Box = 'off';c1.TickDirection = 'out'; c1.FontSize = 8.5;
ax1 = gca; ax1.Units = 'Centimeters';ax1.Position(3:4) = [3.427, 1.59];
box off; % THIS IS THE SIZE I NEED BUT WHICH ISN'T PRINTED CORRECTLY
c1.Label.String = '[whatever]';
subplot(2,1,2)
p1=plot(randi(5,5),'r','LineWidth',0.64); hold on;
box off; set(gca, 'TickDir','out','TickLength',...
[0.03 0.00001],'FontSize',8.5,'LineWidth',0.64);% legend('pre','post');
legend('boxoff');
ax2 = gca;ax2.Units = 'Centimeters';ax2.Position(3:4) = ax1.Position(3:4);
xlabel ('whatever' ); ylabel('whatever');
print myplot -dsvg
Размер рисунка должен быть [3,427, 1,59] в см.И это так в итоговой фигуре Matlab, однако в Inkscape это больше похоже на 3,6 и 1,7.