export_fig
==========
A toolbox for exporting figures from MATLAB to standard image and document formats nicely.
### Overview
Exporting a figure from MATLAB the way you want it (hopefully the way it looks on screen), can be a real headache for the unitiated, thanks to all the settings that are required, and also due to some eccentricities (a.k.a. features and bugs) of functions such as `print`. The first goal of export_fig is to make transferring a plot from screen to document, just the way you expect (again, assuming that's as it appears on screen), a doddle.
The second goal is to make the output media suitable for publication, allowing you to publish your results in the full glory that you originally intended. This includes embedding fonts, setting image compression levels (including lossless), anti-aliasing, cropping, setting the colourspace, alpha-blending and getting the right resolution.
Perhaps the best way to demonstrate what export_fig can do is with some examples.
*Note: `export_fig` currently supports only figures created with the `figure` function, or GUIDE. Figures created using `uifigure` or AppDesigner are only partially supported. See issues [#287](https://github.com/altmany/export_fig/issues/287), [#261](https://github.com/altmany/export_fig/issues/261) for details.*
### Examples
**Visual accuracy** - MATLAB's exporting functions, namely `saveas` and `print`, change many visual properties of a figure, such as size, axes limits and ticks, and background colour, in unexpected and unintended ways. Export_fig aims to faithfully reproduce the figure as it appears on screen. For example:
```Matlab
plot(cos(linspace(0, 7, 1000)));
set(gcf, 'Position', [100 100 150 150]);
saveas(gcf, 'test.png');
export_fig test2.png
```
generates the following:
| Figure: | test.png: | test2.png: |
|:-------:|:---------:|:----------:|
|![](https://farm6.staticflickr.com/5616/15589249291_16e485c29a_o_d.png)|![](https://farm4.staticflickr.com/3944/15406302850_4d2e1c7afa_o_d.png)|![](https://farm6.staticflickr.com/5607/15568225476_8ce9bd5f6b_o_d.png)|
Note that the size and background colour of test2.png (the output of export_fig) are the same as those of the on screen figure, in contrast to test.png. Of course, if you want the figure background to be white (or any other colour) in the exported file then you can set this prior to exporting using:
```Matlab
set(gcf, 'Color', 'w');
```
Notice also that export_fig crops and anti-aliases (smooths, for bitmaps only) the output by default. However, these options can be disabled; see the Tips section below for details.
**Resolution** - by default, export_fig exports bitmaps at screen resolution. However, you may wish to save them at a different resolution. You can do this using either of two options: `-m<val>`, where <val> is a positive real number, magnifies the figure by the factor <val> for export, e.g. `-m2` produces an image double the size (in pixels) of the on screen figure; `-r<val>`, again where <val> is a positive real number, specifies the output bitmap to have <val> pixels per inch, the dimensions of the figure (in inches) being those of the on screen figure. For example, using:
```Matlab
export_fig test.png -m2.5
```
on the figure from the example above generates:
![](https://farm4.staticflickr.com/3937/15591910915_dc7040c477_o_d.png)
Sometimes you might have a figure with an image in. For example:
```Matlab
imshow(imread('cameraman.tif'))
hold on
plot(0:255, sin(linspace(0, 10, 256))*127+128);
set(gcf, 'Position', [100 100 150 150]);
```
generates this figure:
![](https://farm4.staticflickr.com/3942/15589249581_ff87a56a3f_o_d.png)
Here the image is displayed in the figure at resolution lower than its native resolution. However, you might want to export the figure at a resolution such that the image is output at its native (i.e. original) size (in pixels). Ordinarily this would require some non-trivial computation to work out what that resolution should be, but export_fig has an option to do this for you. Using:
```Matlab
export_fig test.png -native
```
produces:
![](https://farm6.staticflickr.com/5604/15589249591_da2b2652e4_o_d.png)
with the image being the size (in pixels) of the original image. Note that if you want an image to be a particular size, in pixels, in the output (other than its original size) then you can resize it to this size and use the `-native` option to achieve this.
All resolution options (`-m<val>`, `-q<val>` and `-native`) correctly set the resolution information in PNG and TIFF files, as if the image were the dimensions of the on screen figure.
**Shrinking dots & dashes** - when exporting figures with dashed or dotted lines using either the ZBuffer or OpenGL (default for bitmaps) renderers, the dots and dashes can appear much shorter, even non-existent, in the output file, especially if the lines are thick and/or the resolution is high. For example:
```Matlab
plot(sin(linspace(0, 10, 1000)), 'b:', 'LineWidth', 4);
hold on
plot(cos(linspace(0, 7, 1000)), 'r--', 'LineWidth', 3);
grid on
export_fig test.png
```
generates:
![](https://farm4.staticflickr.com/3956/15592747732_f943d4aa0a_o_d.png)
This problem can be overcome by using the painters renderer. For example:
```Matlab
export_fig test.png -painters
```
used on the same figure generates:
![](https://farm4.staticflickr.com/3945/14971168504_77692f11f5_o_d.png)
Note that not only are the plot lines correct, but the grid lines are too.
**Transparency** - sometimes you might want a figure and axes' backgrounds to be transparent, so that you can see through them to a document (for example a presentation slide, with coloured or textured background) that the exported figure is placed in. To achieve this, first (optionally) set the axes' colour to 'none' prior to exporting, using:
```Matlab
set(gca, 'Color', 'none'); % Sets axes background
```
then use export_fig's `-transparent` option when exporting:
```Matlab
export_fig test.png -transparent
```
This will make the background transparent in PDF, EPS and PNG outputs. You can additionally save fully alpha-blended semi-transparent patch objects to the PNG format. For example:
```Matlab
logo;
alpha(0.5);
```
generates a figure like this:
![](https://farm4.staticflickr.com/3933/15405290339_b08de33528_o_d.png)
If you then export this to PNG using the `-transparent` option you can then put the resulting image into, for example, a presentation slide with fancy, textured background, like so:
![](https://farm6.staticflickr.com/5599/15406302920_59beaefff1_o_d.png)
and the image blends seamlessly with the background.
**Image quality** - when publishing images of your results, you want them to look as good as possible. By default, when outputting to lossy file formats (PDF, EPS and JPEG), export_fig uses a high quality setting, i.e. low compression, for images, so little information is lost. This is in contrast to MATLAB's print and saveas functions, whose default quality settings are poor. For example:
```Matlab
A = im2double(imread('peppers.png'));
B = randn(ceil(size(A, 1)/6), ceil(size(A, 2)/6), 3) * 0.1;
B = cat(3, kron(B(:,:,1), ones(6)), kron(B(:,:,2), ones(6)), kron(B(:,:,3), ones(6)));
B = A + B(1:size(A, 1),1:size(A, 2),:);
imshow(B);
print -dpdf test.pdf
```
generates a PDF file, a sub-window of which looks (when zoomed in) like this:
![](https://farm6.staticflickr.com/5613/15405290309_881b2774d6_o_d.png)
while the command
```Matlab
export_fig test.pdf
```
on the same figure produces this:
![](https://farm4.staticflickr.com/3947/14971168174_687473133f_o_d.png)
While much better, the image still contains some compression artifacts (see the low level noise around the edge of the pepper). You may prefer to export with no artifacts at all, i.e. lossless compression. Alternatively, you might need a smaller file, and be willing to accept more compression. Either way, export_fig has an option that can suit your needs: `-q<val>`, where
没有合适的资源?快使用搜索试试~ 我知道了~
fMRI和TMS matlab工具箱.zip
共335个文件
m:141个
nii:41个
m~:36个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 95 浏览量
2024-02-13
16:19:42
上传
评论
收藏 19.9MB ZIP 举报
温馨提示
1.版本:matlab2014/2019a/2021a,内含运行结果,不会运行可私信 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
资源推荐
资源详情
资源评论
收起资源包目录
fMRI和TMS matlab工具箱.zip (335个子文件)
TMSextract.asv 1KB
TMSSliceTiming.asv 1KB
TMSRealign.asv 1KB
TMScoregister.asv 713B
writeFileNifti.c 11KB
ImageSelection.class 1KB
b02b0.cnf 0B
dcm2nii_linux 579KB
WhiteMatter教程.doc 269KB
dcm2niigui.exe 763KB
dcm2nii.exe 578KB
BETWin.exe 192KB
WhiteMatterSF.fig 39KB
TMStarget.fig 29KB
WhiteMatter.fig 22KB
TMSFC_GUI.fig 17KB
TMStargetFC.fig 14KB
WhiteFun.fig 12KB
TMSfunseg.fig 9KB
TMStargetSC.fig 7KB
TSA.fig 6KB
TMSsphereROI_GUI.fig 5KB
AFQstat.fig 4KB
TMStargetT1.fig 4KB
TMSreslice_GUI.fig 4KB
TMSUtility_GUI.fig 2KB
DynamicFiber.gif 5.46MB
Fiber.gif 958KB
Track18Mask.nii.gz 4KB
HMCalc 1KB
dcm2niigui.ini 761B
TMSdcm2nii.ini 558B
TMSdcm2img.ini 508B
TMSdcm2nii_linux.ini 508B
TMSdcm2gz.ini 508B
dcm2niigui.ini~ 761B
TMSdcm2nii.ini~ 558B
TMSdcm2nii_linux.ini~ 508B
TMSdcm2img.ini~ 508B
ImageSelection.java 1KB
TMStarget2.jpg 2.72MB
LICENSE 1KB
view_nii.m 143KB
export_fig.m 113KB
WhiteMatter.m 73KB
TMStargetFC.m 48KB
print2eps.m 33KB
TMSfunseg.m 30KB
WhiteFun.m 21KB
TMSviewer.m 17KB
TMStargetSC.m 17KB
mrAnatAverageAcpcNifti.m 17KB
print2array.m 15KB
load_untouch_nii_img.m 15KB
TSA.m 12KB
eps2pdf.m 12KB
restFC.m 12KB
load_nii_hdr.m 10KB
TMSfalff.m 10KB
save_nii_hdr.m 9KB
FCPatternAnalysis.m 9KB
mrAnatXformCoords.m 9KB
load_untouch_nii_hdr.m 9KB
save_nii.m 8KB
ghostscript.m 8KB
TMStargetT1.m 8KB
niftiCreate.m 8KB
im2gif.m 7KB
TMSSeedFC.m 7KB
pdftops.m 7KB
mrAnatComputeCannonicalXformFromDicomXform.m 7KB
niftiGet.m 7KB
make_nii.m 7KB
mrAnatResliceSpm.m 7KB
SegFun.m 7KB
writeFileNifti.m 6KB
fix_lines.m 6KB
TMSsphereROI_GUI.m 6KB
append_pdfs.m 6KB
WhiteMatterSF.m 5KB
TMSFC_GUI.m 5KB
matToQuat.m 5KB
crop_borders.m 5KB
TMStarget.m 5KB
TMSreslice_GUI.m 5KB
ConnFuncHomo.m 5KB
AFQstat.m 5KB
isolate_axes.m 5KB
TMSTargetSite.m 5KB
y_FD_Jenkinson.m 5KB
WeiSeedFC.m 4KB
niftiSet.m 4KB
load_untouch_nii.m 4KB
TrackQC.m 4KB
user_string.m 4KB
quantreg.m 4KB
AFQTractValue.m 4KB
BatchSegmentWrite.m 4KB
BatchSegmentWrite.m 4KB
TMSsphereROI.m 4KB
共 335 条
- 1
- 2
- 3
- 4
资源评论
Matlab科研辅导帮
- 粉丝: 1w+
- 资源: 7491
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功