今天用matlab的时候,用gscatter生成了目标图像后,使用saveas保存到本地时,出现了报错。
报错说明
代码如下:
num=1;
img=gscatter(data(:,1),data(:,2),I);
saveas(img,['D:\Desktpop\主线\截图\NTHC\',num2str(num),'.png'],'png');
**报错内容:**无法从 cell 转换为 matlab.graphics.chart.primitive.Line。
报错截图:
先放出解决办法
另img=figure,再建立gscatter,代码如下:
num=1;
img=figure;
gscatter(data(:,1),data(:,2),I);
saveas(img,['D:\Desktpop\主线\截图\NTHC\',num2str(num),'.png'],'png');
效果:
成功保存!
分析过程
在过往使用的过程中,是用的scatter生成图像,
测试:
结果:
此时能成功保存!
对比scatter和gscatter生成的img格式:
可以看到gscatter生成的图像格式是2x1 Line,这种格式在saveas过程中无法保存,所以需要采用别的办法,于是利用img=figure,生成的格式如下:
避开了Line格式,成功保存。