我有一系列我正在创建的图形,其中两个是线状图。我正在尝试将这两个线条图保存为jpeg,但我遇到了一些麻烦。使用另存为不起作用。
我也尝试使用print和hgsave来完成此操作,但无济于事。我认为hgsave只能保存为fig格式,所以这就解释了这个问题。我可以使用file >另存为手动保存图形,但我也希望能够在代码中做到这一点。
这段代码可以重复这个问题:
x = categorical({'X1', 'X2'});
test = randi(5, 2, 10);
figure;
Test_Line = plot(x, test, 'marker', 'o', 'linestyle', '-');
saveas(Test_Line, 'testline.jpg')理想情况下,代码应该能够将图形保存为jpeg文件。但是,如果这是不可能的,那么任何图像文件扩展名都应该足够。相反,我得到了这个错误:
无法从单元格转换为matlab.graphics.chart.primitive.Line。
这与它是一个10x1line对象的事实有关吗?
感谢任何人的帮助!
发布于 2019-04-17 17:24:23
您应该为line对象提供图形控制柄,而不是控制柄。您可以使用gcf引用当前的图形
x = categorical({'X1', 'X2'});
test = randi(5, 2, 10);
figure;
Test_Line = plot(x, test, 'marker', 'o', 'linestyle', '-');
saveas(gcf, 'testline.jpg')或者(例如,当您创建了多个图形,并希望在脚本末尾保存它们时),存储图形句柄:
x = categorical({'X1', 'X2'});
test = randi(5, 2, 10);
fig = figure;
Test_Line = plot(x, test, 'marker', 'o', 'linestyle', '-');
saveas(fig, 'testline.jpg')https://stackoverflow.com/questions/55723534
复制相似问题