matlab 画折线图并美化

2022-09-06 17:38:30 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

使用函数:

plot (绘图);set(设置坐标属性);print(输出图片)

代码如下:

代码语言:javascript复制
X = 1:9;
Y = 10:10:90;
f2 = figure(2);
set(gcf,'unit','centimeters','position',[0,0,8,6])
plot(X,Y,'-ok','LineWidth',1,'MarkerSize',5,'MarkerFaceColor','k')
set(gca,'FontName', 'Times New Roman', 'FontSize', 8, 'LineWidth', 1, 'ytick', 300:300:900, 'xtick',2:2:8, 'xlim', [0,10] ,'ylim', [0,100]); 
set(gca,'looseInset',[0 0 0 0])   % 去除图片白色边框
xlabel('x zhou','FontName', 'Times New Roman','FontSize', 10)
ylabel('yzhou','FontName', 'Times New Roman','FontSize', 10)  
title('biaoti','FontName', 'Times New Roman','FontSize', 10)
annotation(f2,'textbox',[0.05 0.83 0.1 0.1], 'String','(a)', 'FontSize',10,'FontName','Times New Roman','EdgeColor','none');
  
fullname  = ['C:UsersWangYonglinDesktop','折线图','.tif']
print('-dtiff','-r600',fullname)

说明:

gcf : Current figure handle(当前图像句柄)

本文为了简便, 配合set使用.

还可以使用下面写法:

代码语言:javascript复制
fig = gcf;
fig.unit = 'centimeters';
fig.position = [0,0,15,12];

uint 设置图像窗口长宽的单位. 'centimeters' 表示使用厘米;
position 设置窗口长宽. [左下角位置横坐标 左下角纵坐标 X方向的长度 y方向的长度]

gca : 表示当前坐标区或图

除了配合 set 使用, 也可以使用如下写法:

代码语言:javascript复制
ax = gca;        % current axes
ax.FontSize = 12;
ax.TickDir = 'out';
ax.TickLength = [0.02 0.02];
ax.YLim = [-2 2];

FontName 设置字体, 常用 ‘Times New Roman’ ;

Fontsize 设置字体, 常用 8 ;

Linewidth 设置边框宽度, 常用 1 ;

ytick 和 xtick 设置x和y轴刻度线位置; 可以单独使用 xtick([1,4,7])

xticklabel 和 yticklabel 设置x和y轴刻度标注; 可以单独使用 xticklabels({w, y, l})

xlim 和 ylim 设置x和y轴的范围;


plot 绘制二维线图(https://ww2.mathworks.cn/help/matlab/ref/plot.html)

‘-ok’ 分别表示折线, 圆圈, 黑色;

MarkerSize 设置点的尺寸;

MarkFaceColor 设置点的填充颜色; k 表示黑色


annotation 标注文本


set(gca,’looseInset’,[0 0 0 0]) % 去除图片白色边框


print 打印图窗或保存为特定文件格式 (https://ww2.mathworks.cn/help/matlab/ref/print.html?searchHighlight=print&s_tid=srchtitle)

-dtiff 表示输出tif格式;

-r600 表示输出600分辨率;

其它输出格式链接中的官方说明文档.

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/134249.html原文链接:https://javaforall.cn

0 人点赞