在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中是否有等效的命令可以做到这一点?这些old posts显示了不同的解决方案,但没有一个像Python的figsize
一样干净。
答案 0 :(得分:3)
由于您打算保存/导出图形,因此必须注意正确的Figure Properties,即:
我在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
在右侧:
希望有帮助!