用MATLAB生成达到出版质量的图形-export_fig.zip本帖最后由stellari于2013-5-2816:03编辑MATLAB的绘图功能非常强大,但是有两个突出的问题:1、导出的图片质量不高;
2、有时导出图片和figure中实际所见并不一致。
所以导致大家正式发表专业文章时不经常用MATLAB作为首选的绘图软件。
其实,只要解决了上面的两个问题,MATLAB也是可以生成能够达到出版水平的图形的。
简介export_fig(见附件)就是一个能够解决上述问题的工具包。
首先,问题1的主要原因是MATLAB的默认绘图渲染器较为原始,所以画出的线条都有很明显的锯齿。
而用export_fig导出的图片,所有的线条和文字都是经过抗锯齿处理的,所以视觉效果极佳;
至于问题2,export_fig会严格按照figure上显示的内容去导出,是真正意义上的所见即所得。
而且用export_fig导出的图片不会有MATLAB默认导出时那么大的白边,而是保证白边的范围仅能容纳坐标轴和title,xlabel,ylabel,这样使得图片的尺寸减小,排版更方便。
下两图选得虽然不是很有代表性,但是依然可以看出export_fig截出的图中白边大量减少,并且有非常先进的抗锯齿处理(比如,上图的红线在1-2范围内有很明显的锯齿,下图则几乎没有。
坐标轴上的数字也是如此)。
背景中的网格也由虚线变成了“淡实线”,更符合现代制图的审美观。
figure中直接选择save的结果:test1_1.pngfigure中选择save的保存结果export_fig的结果:test2_2.pngexport_fig的保存结果使用方法export_fig的使用方法很简单,解压附件中的文件,然后将得到的所有文件放入某目录中,再将该目录添加至MATLAB的搜索路径中。
导出图片时,输入export文件名即可将当前figure中的图输出至文件中。
export_fig能够自动识别文件名的扩展名,并保存成相应的格式。
注意如果需要导出pdf或eps格式的话,需要下载并安装ghostscript,具体可以参见export_fig的发布页http://www.mathworks.com/matlabc...nge/23629-exportfig题外话其实不要小看MATLAB。
MATLAB其实隐藏了一个非常强大的绘图模式:HG2。
这个模式平时是隐藏的,只能在MATLAB启动时通过附加参数的形式开启,即可以将MATLAB的快捷方式中的指向目标由"...\...\MATLAB\R2013a\bin\MATLAB.exe"改为"...\...\MATLAB\R2013a\bin\MATLAB.exe"-hgVersion2(注意hgVersion和2之间有一个空格)然后使用这个快捷方式打开MATLAB。
在界面上没有任何区别,但是当你画出图之后,你会发现一切都不同了。
(下二图转载自undocumentedmatlab.com,左图为普通模式,右图为HG2模式)HG1_plot.png普通(HG1)模式(无责任转载自undocumentedmatlab.com)HG2_plot.pngHG2模式(无责任转载自undocumentedmatlab.com)版本在2010以上,感兴趣的同学不妨一试(版本更早其实也可以尝试)。
当然目前HG2模式尚不稳定,所以并没有向一般用户公开。
不过这很可能是下一代MATLAB的发展方向,说不定R2014a的默认绘图模式就是HG2!总结目前公认最好的图片导出方案还是export_fig。
这个工具包在MATLABCentral上一直下载量排行第一。
这个工具包可以完全替代MATLAB自己的图片导出功能,强烈推荐大家使用。
我本人现在正在写的一篇文章就全部使用export_fig,而没有使用其他任何的绘图软件。
HG2模式应该是MATLAB的未来发展方向,大家可以先尝个鲜。
很有可能在不久的将来就能够在MATLAB中直接生成这种高质量的图像了。
2024/5/23 14:45:49 26KB matlab
1
程序运行后,打开照相机摄像头能够自动连续拍照5次。
次数可以在程序中自动修改。
照相头可以选择前置摄像头或者后置摄像头。
5次拍照完成后,程序会自动退出,照片保存在手机的SD卡上面。
2024/5/21 14:32:42 1.97MB Camera Auto
1
可执行代码:可以增加学生删除学生等基本操作。
a-学生基本信息录入------b-学生基本信息显示----**-------c-学生基本信息保存*-----d-学生基本信息删除----**-------e-学生基本信息修改*-----f-学生基本信息查询----**-------g-排序显示*------------h-数据统计------------**-------i-学生总数--------------x-退出系统------------*
2024/5/20 20:21:04 274KB c语言 课程设计 学生档案管理
1
两个py文件,一个是利用文本训练并保存,另外一个是拼音转汉字,基于隐马尔可夫模型HMM,拼音输入法可以按注音符号与汉语拼音两种汉字拼音方案分成两大类。
汉语拼音输入法的编码是依据汉语拼音方案(汉字的读音)进行输入的一类中文输入法。
早期只有全拼这种方式,即完全依照汉字的整个音节来输入。
随着技术的发展,拼音输入法不仅可以简拼还出现了一种只需两键就能输入整个音节的双拼方案。
2024/5/19 11:11:52 16.31MB python 人工智能 自然语言处理 HMM
1
图书信息管理系统,使用链表写的,含有对文件的操作,将信息保存到TXT文件中,可以读取出来,初学者作业。
2024/5/19 3:31:37 448KB C++ AS
1
<?php/***图片加水印*@param$srcImg原图*@param$waterImg水印图片*@param$savepath保存路径*@param$savename保存名字*@param$position水印位置*1:左上2:右上3:居中4:左下5:右下*@param$opacity透明度*0:全透明100:完全不透明*@return成功--加水印后的新图片地址*失败---1:源文件不存在,-2:水印不存在,-3源文件图片对象建立失败,-4:水印文件图像对象建立失败,-5:加水印后的新图片保存失败*获取源文件路径、宽高等信息,得出保存后文件保存路径、水印放置位置->建立源文件和水印图片对象->合并图片对象(imagecopymerge)->销毁图片对象*/functionimg_create_from_ext($imgfile){$info=getimagesize($imgfile);$im=null;switch($info[2]){case1:$im=imagecreatefromgif($imgfile);break;case2:$im=imagecreatefromjpeg($imgfile);break;case3:$im=imagecreatefrompng($imgfile);break;}return$im;}functionimg_water_mark($srcImg,$waterImg,$savepath=null,$savename=null,$position=5,$opacity=50){$temp=pathinfo($srcImg);$name=$temp['basename'];$path=$temp['dirname'];$exte=$temp['extension'];$savename=$savename?$savename:$name;$savepath=$savepath?$savepath:$path;$savefile=$savepath.'/'.$savename;$srcinfo=@getimagesize($srcImg);if(!$srcinfo){return-1;}$waterinfo=@getimagesize($waterImg);if(!$waterinfo){return-2;}$srcImgObj=img_create_from_ext($srcImg);if(!$srcImgObj){return-3;}$waterImgObj=img_create_from_ext($waterImg);if(!$waterImgObj){return-4;}switch($position){case1:$x=$y=0;break;case2:$x=$srcinfo[0]-$waterinfo[0];$y=0;break;case3:$x=($srcinfo[0]-$waterinfo[0])/2;$y=($srcinfo[1]-$waterinfo[1])/2;break;case4:$x=0;$y=$srcinfo[1]-$waterinfo[1];break;case5:$x=$srcinfo[0]-$waterinfo[0];
2024/5/18 15:36:22 3KB 技术
1
defGMM_algorithm(iterMax,gmm,dataset):'''高斯混合聚类算法:paramiterMax:最大迭代次数:paramgmm:保存gmm模型的数据:return:簇划分结果'''step=0m=len(dataset)flagMat=np.mat(np.zeros((m,1)))#保存每个样本的簇标记lateProbMat=np.mat(np.zeros((m,3)))#保存后验概率whilestep3):k+=1print(k)mark=['or','ob','og','ok','^r','+r','sr','dr','<r','pr']#画出所有样例点属于同一分类的绘制同样的颜色foriinrange(numSamples):
2024/5/18 3:22:23 183KB python聚类
1
包含图像采集,保存,图像大小的选择,曝光时间的控制等
2024/5/18 3:28:05 115KB CCD labview
1
其中有涉及到的技术有:1.串口发送10进制,16进制数据2.串口接收10进制,16进制数据3.Text文本行字体颜色设置(蓝色字体为串口返回的数据)4.INI配置文件读写操作(保存所有信息,方便下一次启用)5.中文乱码需加  RS232.Encoding=System.Text.Encoding.GetEncoding("UTF-8")里头有两种读取模式,第一种立即读取可用字节,第二种是不断读取(直到换行)这两种模式的不同可以提高调试的容错率,这里是其他串口调试软件没有的。
第二种读取法,是要读取到换行符号才会停止读取,不然会一直阻塞。
当不返回换行符,那可以将程序强行终止
1
#设计目的1、网上很少有关于SQLite简单综合项目的测试APP。
2、把自己所学的部分UI综合一下,希望能给新手一些帮助。
#涉及知识点1、包括SQLite的增删查找等功能。
2、RecyclerView展示3、SharedPreference保存密码,以及判别是否是第一次安装APP。
(如果是第一次就录入测试数据)4、简单的Menu操作
2024/5/17 22:04:56 23.33MB android
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡