matlab 保存figure保存 figure的时候出现如下错误

查看: 27372|回复: 19|关注: 0
matlab绘完图后可以不弹出figure而直接保存吗?
<h1 style="color:# 麦片财富积分
新手, 积分 5, 距离下一级还需 45 积分
rt。保存的代码我会。但是怎么让他不弹图呢?我需要批量绘制并保存图片。所以总弹出来太麻烦了。
论坛优秀回答者
<h1 style="color:#4 麦片财富积分
关注者: 388
在用循环画很多图时,为了减少对内存的占用,可以设置图像不显示,直接保存起来。其实也很简单,就是在plot等语句前加上一句:figure('visible','off')。这样画图时就不显示了。
<h1 style="color:# 麦片财富积分
yinhefeng 发表于
在用循环画很多图时,为了减少对内存的占用,可以设置图像不显示,直接保存起来。其实也很简单,就是在plot ...
谢谢!很有用
<h1 style="color:# 麦片财富积分
yinhefeng 发表于
在用循环画很多图时,为了减少对内存的占用,可以设置图像不显示,直接保存起来。其实也很简单,就是在plot ...
是这样的结构么?
figure('visible','off');
plot(x,y);
我试了一次,为什么保存的图片是空白的呢……
论坛优秀回答者
<h1 style="color:#4 麦片财富积分
关注者: 388
littlezhang 发表于
是这样的结构么?
figure('visible','off');
你试试下面的代码x=0:0.1*pi:2*
y=sin(x);
figure
figure('visible','off')
h=plot(x,y);
saveas(h,'mytest.jpg')复制代码
<h1 style="color:# 麦片财富积分
yinhefeng 发表于
你试试下面的代码
我试了一下,保存的图像确实是正常了,解决了上一个问题
不过我其实是想解决
1.jpg (25.37 KB, 下载次数: 0)
19:46 上传
这个窗口的弹出问题,在保证我能够把这个图保存下来的情况下,我对于这个图是否显示出曲线来倒是不介意,我主要是希望这个话题窗口不弹出,运行不影响我使用其他程序
不知道有没有类似经历啊
论坛优秀回答者
<h1 style="color:#4 麦片财富积分
关注者: 388
littlezhang 发表于
我试了一下,保存的图像确实是正常了,解决了上一个问题
不过我其实是想解决这个窗口的弹出问题,在保证 ...
试试这样可以不,在保存后关闭图像窗口。for i=1:5
& & x=0:0.1*pi:2*
& & y=sin(x);
& & figure('visible','off')
& & h=plot(x,y);
& & filename=['test' num2str(i) '.jpg'];
& & saveas(h,filename)
& & close(gcf)
end复制代码
<h1 style="color:# 麦片财富积分
yinhefeng 发表于
试试这样可以不,在保存后关闭图像窗口。
嗯嗯,果然解决了,感谢呀。这个问题我纠结了好久啦哈哈
我保存图片的方式也不大好,都是1 2 3,不大会用
h=plot(x,y);
& & filename=['test' num2str(i) '.jpg'];
& & saveas(h,filename)
这种。这是用的控制句柄吧
论坛优秀回答者
<h1 style="color:#4 麦片财富积分
关注者: 388
littlezhang 发表于
嗯嗯,果然解决了,感谢呀。这个问题我纠结了好久啦哈哈
我保存图片的方式也不大好,都是1 2 3,不大会用 ...
<h1 style="color:# 麦片财富积分
感谢~学习了~
h=figure('Visible','off');
这样就额可以得到句柄h了。
站长推荐 /1
MATLAB中文论坛是全球最大的 MATLAB & Simulink 中文社区。用户免费注册会员后,即可下载代码,讨论问题,请教资深用户及结识书籍作者。立即注册加入我们吧!
MATLAB官方社交平台
MATLAB中文论坛微社区Matlab为什么直接打开.fig时报错_百度知道
Matlab为什么直接打开.fig时报错
我有更好的答案
会自动弹出figure来。二是通过guide打开fig文件,打开的方式有两种:一是打开其m文件。matlab里面所有的程序都是以m文件文件的形式保存,运行都是运行m文件。所以,点击gui编辑器上的运行按钮也能正确运行。fig仅仅是matlab的guide生成的一个图形,上面有很多控件。如果直接打开,点击运行,程序的m文件并没有运行,所以。再说一遍吧,点击m文件上的运行按钮,对于guide生成的GUI程序论坛上有很多这样的帖子了,出错也就不足为奇了
为您推荐:
其他类似问题
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。将matlab的figure保存为pdf,避免图片太大缺失[转载]
有时候想把matlab中的图直接转换为pdf格式,之前的做法是转换为eps格式,再导入pdf,下面有一个很直接的方法:
1、在matlab figure里面,Edit -& Copy Figure
2、在adobe acrobat里面,文件-&创建PDF-&从剪贴板。
就这么简单,根本无需什么eps2pdf,什么illustrator打印之类的
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。matlab中figure窗口图片保存的问题
matlab中figure窗口图片保存的问题
Figure窗口中的图形导出成jpg格式的图片时,所有的字号都会变大,而且坐标刻度值在有些情况下会改变。我想得到与屏幕上显示完全相同的jpg图形,但又不想用尺寸比较大的bmp.
另:用print生成24位色的bmp时字体也会变大,用saveas生成的bmp不会变大,但只能保存成256色,会丢失颜色。
下面详细说明一下我的要求与解决方法。
由于所绘制的图形用到了colorbar,所以颜色比较多。
1.保存成图片后要求颜色尽量不失真
2.图片要小
3.格式比较常见
4.方法要能够进行批量处理
暂以bmp,jpg,gif三种常见格式的图片结合matlab导出图片的方法进行说明:
1.saveas 能生成bmp,jpg图形
此法生成的bmp只能为256色造成色彩失真。
jpg可以为24位色,但会造成字体显示或坐标显示与屏幕显示不符,字体变大。
2.print 能生成bmp,jpg图形
此法生成的bmp可以为24位色,但和jpg一样都会产生字体和坐标显示与屏幕显示的不符,而且bmp文件比较大。
3.菜单Edit-&Copy Figure拷贝至剪贴版-&保存-&转换为jpg或gif格式
该方法能生成24位色的与屏幕显示效果完全相同的bmp,再由第三方软件转化为jpg或gif格式解决文件大小问题。
转化问题:
(1) jpg格式是有损压缩,在转化后图像质量有所损失。
gif格式是无损压缩,但只支持256色。用一般的格式转换工具将24位色bmp转换为gif格式时会出现色彩失真,该图形中虽colorbar,但所使
用到的颜色种类没有超过256种,所以用Acdsee等专业的转换工具转换后其效果与bmp基本完全一样,效果比jpg好的多,而且文件也比jpg的要
批量处理问题:
(1) Edit -& Copy Figure ,经研究得出Copy Figure菜单的回调函数是
uimenufcn(gcbf,'EditCopyFigure');
我们把gcbf换成gcf即可实现点击当前figure菜单Edit -& Copy Figure
相同的功能,把图片拷贝到剪贴版中。
(2) 从剪贴版获取图片并保存为bmp,此项操作有VB来完成。在VB中获取图片并保存的代码如下:
picBitmap = ClipBoard.GetData(vbCFBitmap)
savepicture picBitmap.picture,"test.bmp"
其中picBitmap为picture控件,将程序编译为exe,在matlab里用system调用
(3)由于没有找到将24位色bmp转换为gif的较好的模块,在生成所有bmp后,用Acdsee批量转换。
用此方法生成了1700多幅gif图片,相应的bmp图片为2.4GB,gif图片仅为40MB左右,而且效果与bmp基本完全一样,肉眼难以辨别。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。当前位置:
&【求助】matlab 如何保存figure【已解决】
【求助】matlab 如何保存figure【已解决】
作者 tc1788
一组数据可以绘制一幅figure,现我有多组数据 想每幅图都保存 怎么写代码呢?
F=[1 2 3 45 8 7 54 2 1 54 7 124 ... ...]
for rrrr=1:100
保存figure;
保存figure怎么写 每一幅都要保存!
[ Last edited by nono2009 on
at 15:20 ]
使用 import 保存为任意格式均可!
我有时候就是edit -copy figure
捎 saveas, 例如:
F=[1 2 3 45 8 7 54 2 1 54 7 124 ... ...]
for rrrr=1:100
& &plot(F);
& &saveas(gcf, 'num2str(rrrr)', 'bmp');
% gcf = the current figure will be saved as 1.bmp, 2.bmp,3.bmp ...
% 那个 num2str(rrrr) 要不要用单引号记不清了,自己试一下。不行就把它的引号去掉!
% bmp 可换成你想要的图像格式,如 tif, fig, ,
用法:print(图形句柄,存储格式,文件名);
图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3.用gcf可以获取当前窗口句柄。
指定存储格式。常用的有:
png格式:'-dpng‘ (推荐这一种,与bmp格式一样清晰,文件也不大)
jpeg: ‘-djpeg‘(文件小,较清晰)
tiff: ‘-dtiff‘
bmp: ‘-dbitmap‘(清晰,文件极大)
gif: ‘-dgif‘(文件小但不清晰)
文件名:自己给定
注意::print函数必须紧跟在plot函数之后使用。
或者用saveas函数,如下
F=[1 2 3];
for rr=1:3;
& & F=F+5;
& &plot(F);
& &saveas(h,num2str(rr),'fig')
用 save 保存
24小时热帖
下载小木虫APP
与700万科研达人随时交流

我要回帖

更多关于 matlab中figure 的文章

 

随机推荐