第1个回答 2021-03-31
a = 1:10;
b = 1:10;
plot(a(1:5), b(1:5), 'ro', a(6:10), b(6:10), 'bo')
其中'ro'就是红色的散点,'bo'就是蓝色的散点,图像画出来如下:
Matlab散点图
至于颜色选择,请看Matlab官方文档(doc plot就有详细说明)。
基本绘制
想使用MATLAB绘制想要的图像,无非是搞懂各部分参数设置的方法,其实很多方法是通用的,图1为典型的曲线图,不妨先整理几个概念:
包含关系如下:
1)图像figure
figure就是指一个图像对话框,
gcf——get current figure,获取当前图形句柄,如果不存在图形,则创建新的图形。
用法:
①设置布画大小
set(gcf,'unit','centimeters','position',[10 5 14 7]);
②设置布画颜色
fig = gcf; % current figure handle
fig.Color = [0 0.5 0.5];
fig.ToolBar = 'none';
2)坐标轴axes/axis
axes——在指定位置建立轴坐标
axis——完成axes坐标轴设置,传回坐标轴句柄。
gca——get current axis or chart,获取当前图形坐标句柄,可用于设置坐标轴标注格式。
用法示例:
①建立新的轴坐标
axes('Color',[0 0 0], 'ZColor',[0 0.5 0], 'XColor',[0 0.5 0], 'YColor',[0 0.5 0]);
②设置同一坐标内两条曲线句柄
[hAx,hLine1,hLine2] = plotyy(x,y1,x,y2);
ylabel(hAx(1),'Slow Decay') % left y-axis
ylabel(hAx(2),'Fast Decay') % right y-axis
③获取axis子项句柄设置属性
set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top');
ax = gca; % current axes
ax.FontSize = 12;
ax.TickDir = 'out';
ax.TickLength = [0.02 0.02];
ax.YLim = [-2 2];
3)数据标注
legend——为图形或坐标轴添加数据标注。
用法示例:
y1 = rand(3);
ax1 = subplot(2,1,1);
plot(y1)
legend(ax1,'Line 1','Line 2','Line 3')
以下为一段完整的代码,供参考。
x = 0:pi/100:2*pi;
y1 = sin(x);
y2 = sin(x-0.25);
y3 = sin(x-0.5);
% 新建图画,若figure(1)即指定图画句柄1
figure;
% 设置布画大小,合适的大小可防止粘贴到word文档时图片模糊
set(gcf,'unit','centimeters','position',[10 5 14 7]);
% 设置布画背景色
set(gcf,'Color',[0.9 0.9 0.9]);
% 绘制曲线,绘制多条曲线时可使用下列方法,也可用hold on
% hold on 在曲线实时逐点更新绘制时比较好用
plot(x,y1,x,y2,'--',x,y3,':');
% 设置坐标轴范围,等效于xlim、ylim
axis([0 2*pi -1.5 1.5]);
% 设置坐标格
grid on;
% 曲线标注,设置标注位置及排列方法,注意上标下标、及转义字符的使用
legend('曲线_1','曲线^2','曲线\_3','Location','northeast','Orientation','vertical');
% 更广泛的,matlab绘图中支持latex公式,例如
% legend('\itu_{max}','\itu','\itu_{maxt}');
% 设置坐标轴标注,设置坐标轴字体
figure_FontSize=8;
xlabel('时间(s)','FontSize',figure_FontSize,'FontWeight','bold','Color','r');
ylabel('幅值');
% 有的老版本的MATLAB设置字体只能通过以下方式生效
set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top');
set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','middle');
% 批量设置字体格式
set(findobj('FontSize',10),'FontSize',figure_FontSize);
% 设置xy轴在图片中占的比例,可能需要自己微调。
set(gca,'Position',[.13 .17 .80 .74]);
% 批量设置曲线粗细
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',2);
% 设置标题
title('sin函数示例图');
第2个回答 推荐于2018-02-23
clear;clc
x=[12,13,14,15,16,17];
y1=[0.2302,0.3075,0.388,0.4684,0.5451,0.6149];
y2=[0.2968,0.407,0.5304,0.6644,0.806,0.9521];
y3=[0.3366,0.468,0.6201,0.7919,0.9801,1.1815];
plot(x,y1,'o-',x,y2,'v-',x,y3,'*-')
本回答被提问者和网友采纳