Matlab эквивалентный фигуре Питона - PullRequest
0 голосов
/ 18 октября 2019

В Python matplotlib.pyplot команда figsize позволяет определить размер фигуры, например.

from numpy import linspace, sin
import matplotlib.pyplot as plt

x = linspace(-2,2,100)
y = sin(1.5*x)

plt.figure(figsize=(8,5))
plt.plot(x,y)
plt.savefig('myfigure.pdf')
plt.show()

Есть ли в Matlab эквивалентная команда, которая делает это? Эти старые сообщения показывают различные решения, но ни одно из них не так чисто, как в Python figsize.

1 Ответ

3 голосов
/ 18 октября 2019

Поскольку вы стремитесь сохранить / экспортировать свою фигуру, вы должны обратить внимание на право Свойства рисунка , а именно:

Я протестировал следующий код в Octave 5.1.0, но он должен быть полностью совместим с MATLAB:

x = linspace(-2, 2, 100);
y = sin(1.5 * x);
fig = figure('PaperUnits', 'inches', 'PaperSize', [8 5], 'PaperPosition', [0 0 8 5]);
plot(x, y);
saveas(fig, 'myfigure_octave.pdf', 'pdf');

Я создал myfigure_python.pdf с использованием вашего кода. Обе экспортированные цифры имеют размер 203.2 x 127,0 mm, равный 8 x 5 inches, и выглядят очень похоже, см. Следующий снимок экрана. myfigure_python.pdf слева, myfigure_octave.pdf справа:

Output

Надеюсь, это поможет!

...