将绘图保存为png时,Matlab会创建重叠的记号

将绘图保存为png时,Matlab会创建重叠的记号,matlab,save,png,Matlab,Save,Png,将matlab timeseries绘图保存为png时出现问题。内部matlab窗口显示的XTICK数量是保存图像的一半。这将导致在保存的绘图中重叠标签 下面是一个示例代码: data = (1:12); time(1,:) = '10-Sep-2012 13:42:10'; time(2,:) = '10-Sep-2012 13:43:10'; time(3,:) = '10-Sep-2012 13:44:10'; time(4,:) = '10-Sep-2012 13:45:10'; ti

将matlab timeseries绘图保存为png时出现问题。内部matlab窗口显示的XTICK数量是保存图像的一半。这将导致在保存的绘图中重叠标签

下面是一个示例代码:

data = (1:12);

time(1,:) = '10-Sep-2012 13:42:10';
time(2,:) = '10-Sep-2012 13:43:10';
time(3,:) = '10-Sep-2012 13:44:10';
time(4,:) = '10-Sep-2012 13:45:10';
time(5,:) = '10-Sep-2012 13:46:10';
time(6,:) = '10-Sep-2012 13:47:10';
time(7,:) = '10-Sep-2012 13:48:10';
time(8,:) = '10-Sep-2012 13:49:10';
time(9,:) = '10-Sep-2012 13:50:10';
time(10,:) = '10-Sep-2012 13:51:10';
time(11,:) = '10-Sep-2012 13:52:10';
time(12,:) = '10-Sep-2012 13:53:10';

ts = timeseries(data,time);
ts.TimeInfo.Format = 'dd, HH:MM:SS';

figure(1)
plot(ts);

%saveas(gca, 'tickmovetest', 'png')
print(gcf, '-dpng', 'tickmovetest')
无论我使用plot还是saveas命令,都无关紧要。数据只是随机数,时间是一个长度相等的向量,包含字符串,如“10-Sep-2012 13:42:10”

有没有人经历过这个问题并找到了答案?
如果matlab在保存绘图之前只保留它的刻度数,那就太好了。

matlab在保存图形时会重新调整图形的大小。如果没有明确指定记号和-标签的位置,则可能会导致标签重叠。
也就是说,有两种选择:

  • 手动设置记号位置和记号标签
  • Matlab文件交换上有一个贡献,名为,它将图形保存为与屏幕上显示的图形完全相同的大小。(与R2013a配合使用)。
    对于上面的示例,您可以按如下方式调用它:

    saveSameSize(gcf, 'format', 'png', 'file', 'tickmovetest.png');
    
  • 我的建议是积极设置刻度位置和刻度标签,以避免任何意外

    PS
    您的示例不会为我生成重叠标签,但是,此
    print
    -命令会:

    print(gcf, '-dpng','-r200','tickmovetest')
    

    你能创建一个最小的工作示例,我可以复制/粘贴它来重现你的错误吗?嗨,Schorsch,谢谢你的回复。我离开了一段时间,很抱歉我没有及时回复。我添加了几行代码,使代码片段更加方便。约翰,谢谢你!我会调查saveSameSize,它看起来很有希望。很高兴知道这是一个普遍的问题。谢谢