MATLAB绘图小记4则

 

导出eps不是矢量图的解决方案; 可旋转的文本标注; 灰度colormap; contour标注数值。

导出图片非矢量解决方案

论文中的配图一般插入矢量图, eps格式, 通过MATLAB的.fig文件导出。而绘制的图可能是以opengl渲染以到达快速预览的效果(尤其是3D图), 但该渲染模式下导出的eps图片成为了位图, 而非矢量图。为解决此问题, 需要在导出前将fig图的渲染模式改为Painters1。操作如下:

set(gcf, 'renderer', 'Painters')

可旋转的文本标记

在图示中插入标记的方式一般为TextBox, 而该类对象不具备旋转属性, 无法修改旋转角度。可旋转的文本标注使用text方法2, 示例如下:

ht = text(x,y,'My text');
set(ht,'Rotation',45)

灰度colormap

gray可输出灰度colormap, 结合colormap函数可设置图示colormap为灰度模式3, 精度可以通过gray(n)设置, 例如: gray(256)表示256级。

colormap(gray)

contour图标记数值

绘制等高线时标注数值的方法是: clabel4, 示例如下:

[x,y,z] = peaks;
[C,h] = contour(x,y,z);
v = [2,6];
clabel(C,h,v)

首先通过[C, h]获取数值和图示句柄, 作为1, 2号参数传入clabel; 额外地, 可以通过三号位参数v, 选择性标注数值。