• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Matlab画图小指南

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

我发现隔一段时间不碰MATLAB,等到需要的时候来用,简直觉得寸步难行,很多命令都忘记了,因此在此小小记录一下关于在MATLAB中画图的方方面面(#^.^#)

plot(x,y,\'LineWidth\',1.5); %线条粗一点

%绘制散点图 sz是尺寸
scatter(x,y,sz,\'MarkerEdgeColor\',[0 .5 .5],...
              \'MarkerFaceColor\',[0 .7 .7],...
              \'LineWidth\',1.5)

%标题和轴标题 坐标
title(\'*****\',\'FontSize\',18,\'FontWeight\',\'bold\') %标题加粗 字号
xlabel(\'*****\',\'FontAngle\',\'italic\'); %可以是斜体
ylabel(\'*****\',\'FontAngle\',\'italic\');


axis([400,2500,0,0.6]);  %控制范围
set(gca,\'YTick\',[0:0.1:0.6]); %x轴范围 ,间隔0.1
set(gca,\'XTick\',[0:500:2500]) ;%y轴范围 ,间隔500
set( gca, \'XTick\', [], \'YTick\', [] ); %不想要刻度线的时候

set(gca,\'xticklabel\',[]) %不想要刻度标签的时候
set(gca,\'yticklabel\',[])

set(gca,\'FontName\',\'Times New Roman\',\'FontSize\',12); %坐标轴的刻度值字体好看点
set(gca,\'linewidth\',1.5) ;%图的边框要好看
set(gcf,\'color\',[1,1,1]) %背景变白

colorbar %加色度条
colormap gray %改变色彩模式

%添加文本标注
text(0.011,0.58,\'(d)2016-06-15\',\'FontName\',\'Times New Roman\',\'FontSize\',15) ;
text(0.014,0.55,[\'Y=\',num2str(p(1)),\'X+\',num2str(p(2))],\'FontName\',\'Times New Roman\',\'FontSize\',11,\'FontAngle\',\'italic\') ;%num2str后才能显示

%图例
legend([p1 p2],{\'Fit line\',\'1:1 Line\'},\'FontName\',\'Times New Roman\',\'Location\',\'southeast\');%这里p1 p2分别代表两条不同的plot画出来的线 此处用到了对象

%输出图形
print(\'Figure1\',\'-dpdf\',\'-r300\');  %输出pdf到当前文件夹,简单线图用pdf或eps(-deps),AI打开编辑
print(\'Figure2\',\'-djpeg\',\'-r600\');  %输出jpg, 复杂、数据量大的彩图用jpg,600ppi
saveas(\'Figure1\',[\'D:\\'  Name],\'pdf\')

%保存图形到当前目录
print(\'fileformat\',\'-r+resolution\',\'filename\')
print(\'-djpeg\',\'-r600\',\'bon\')
print(\'-djpeg\',\'-r900\',\'ALA&FVC\')

 name:value 参数设置:

 

DatetimeTickFormat 的值示例
\'yyyy-MM-dd\' 2014-04-19
\'dd/MM/yyyy\' 19/04/2014
\'dd.MM.yyyy\' 19.04.2014
\'yyyy年 MM月 dd日\' 2014年 04月 19日
\'MMMM d, yyyy\' April 19, 2014
\'eeee, MMMM d, yyyy HH:mm:ss\' Saturday, April 19, 2014 21:41:06
\'MMMM d, yyyy HH:mm:ss Z\' April 19, 2014 21:41:06 -0400

 

DurationTickFormat 的值说明
\'y\' 精确定长年的数目。固定长度的一年等于 365.2425 天。
\'d\' 精确定长天的数目。固定长度的一天等于 24 小时。
\'h\' 小时数
\'m\' 分钟数
\'s\' 秒数

#加上线性拟合
hold on
p = polyfit(x,y,1);%线性拟合
m=0:0.01:0.6;
x1=linspace(min(x),max(x));  
y1=polyval(p,x1);  
p1=plot(x1,y1,\'-k\',\'linewidth\',1.2);

面向对象式画图

所谓面向对象式的绘图,是仿照生活实际而来的,有别于过程式的绘图方式。

  • 创建figure对象。摊开空白画布
  • 创建axes对象。画布上选一个绘制区域
  • 创建line对象。在绘图区画图·
  • 创建legend对象。
  • 保存图像

各种对象都有不同的属性,绘制精致的图形本质上是学会设置各种属性

Tips:

  • 请提前设置好绘图的大小(基于你论文排版需要),所有字体样式。
  • 输出pdf/eps/jpg,用上述的print输出,然后用AI打开文件编辑修改,用AI导出为/存储为...
  • 将visio/word文档转换为pdf,请使用 Acrobat PDFMaker,不推荐用其自带的另存为或打印为pdf(存在很多细节问题)
f = figure;
P1 = plot(x, y, \'-\', \'lineWidth\', 1.2, \'color\', [0.8 0.3 0.5]);%创建图形对象P1
hold on;
P2 = plot(x, y2, \'-\', \'lineWidth\', 1.2, \'color\', [0.1 0.3 0.5]);%创建图形对象P2

axis([xmin xmax ymin ymax]) % x y轴范围 1pt = 1/72inch   1 inch = 25.4mm
xlabel(\'Torque $M_x$ (Nm)\',\'interpreter\',\'latex\',\'FontSize\',8); % Latex格式的label
ylabel(\'******\',\'Fontname\', \'Times New Roman\',\'FontSize\',8);

width = 240;   % 240pt  US letter 双栏
set(gcf,\'unit\',\'points\',\'PaperUnits\',\'points\',\'PaperPosition\',[0,0,240,240/5*4],...
    \'position\',[500 300 240 240/5*4],\'color\',\'w\',\'PaperSize\',[width, width/5*4]);

set(gca, \'Fontname\', \'Times New Roman\', \'Fontsize\', 8);   % 坐标轴句柄,设置坐标轴刻度数字样式
L1 = legend([P1 P2],\'Actual torque\',\'Fake\');%创建图例对象 设置图例中的名字
set(L1,\'Location\',\'northeast\',\'Orientation\',\'vertical\',...
    \'Fontname\', \'Times New Roman\',\'FontSize\',8,\'TextColor\',\'black\');% legend 格式

%输出图形到文件
print(\'Figure1\',\'-dpdf\',\'-r300\');  %输出pdf,简单线图用pdf或eps(-deps),AI打开编辑
print(\'Figure2\',\'-djpeg\',\'-r600\'); %输出jpg, 复杂、数据量大的彩图用jpg,600ppi

%————————————————————————————————————————

% 创建figure对象
Fig = figure(...
    \'Units\',           \'pixels\',...
    \'Name\',            \'move2\',...
    \'NumberTitle\',     \'off\',...
    \'IntegerHandle\',   \'off\');
% 创建axes对象, 设定坐标轴属性
AxesH = axes(...
    \'Parent\',  Fig,...
    \'Xlim\',    [-10 50],...
    \'Ylim\',    [-10 40],...
    \'XGrid\',   \'on\',...
    \'YGrid\',   \'on\',...
    \'DataAspectRatio\', [1 1 1],...
    \'Visible\', \'on\');

t = linspace(0,45,101)*pi/180;
x = 40*cos(t);
y = 40*sin(t);
realtrace = line(AxesH, x, y,\'linewidth\',2);
precisetrace = line(AxesH,[x(1) x(end)] ,[y(1) y(end)],...
                    \'color\',\'g\',...
                    \'linewidth\',2,...
                    \'linestyle\',\'--\');

legend(AxesH,[realtrace,precisetrace],...
    \'真实运动轨迹\',\'精确运动轨迹\',...
    \'location\',\'northwest\');
% 指定保存路径和格式
saveas(Fig,[\'D:\abc\\' Fig.Name],\'pdf\')

 

%更改坐标轴范围,对于自动计算的最小值或最小值范围,分别使用 -inf 或 inf 来表示。
xlim([0 inf])
ylim([-0.4 0.8])
%反转坐标轴方向:通过设置 Axes 对象的 XDir 和 YDir 属性,使用 gca 命令可访问 Axes 对象。
ax = gca;
ax.XDir = \'reverse\';
ax.YDir = \'reverse\';
box off %删除坐标区图框轮廓

 

参考:

https://www.zhihu.com/question/269326720/answer/347245807

https://www.zhihu.com/question/269326720/answer/347554215

https://ww2.mathworks.cn/help/matlab/ref/plot.html


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Matlab绘图及程序设计发布时间:2022-07-18
下一篇:
MATLAB的图形绘制发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap