MATLAB-绘图-散点图绘制

本文主要是两类数据用散点图作比较时候的绘制方法,自己做时候在加图例这一步骤上尝试了很多次,因而写本文做记录、分享。

绘制方法

  • 写在见面
  • plot
  • scatter
  • gscatter

写在见面

emmm,简要的写一个可以应用的背景哈(可能写的背景不很恰当(欢迎提改进意见哟),大家将就着瞅瞅,可以直接跳过看函数部分)
假设现在有神奇花和梦幻花两种花朵,在1-4月份的花朵直径都不同,现在想根据某两个直径差距区别较大的月份进行区别。
画散点图进行对比观察一下。
(PS:数据是随机数,所以效果啥样我也不晓得哈)

plot

  • 程序实现
a=randi([0,100],40,1);%产生随机数,第1-10个数为神奇花1月的直径,第11-20数是二月的直径,以此类推
b=randi([0,100],40,1);%产生随机数,第1-10个数为神奇花1月的直径,第11-20数是二月的直径,以此类推
kk1=[];
for i=1:4
   for k=1:10
       kk1=[kk1,i];
   end
end %产生的KK1是类似[1,1,2,2,3,3,4,4]1*40数组,代表四个月份。
figure;
plot(kk1,a,'ro','MarkerFaceColor','r');%MarkerFaceColor为填充颜色
xlabel('月份');ylabel('直径');axis([-inf,inf,0,100]);
hold on
plot(kk1,b,'bo','MarkerFaceColor','b');
xlabel('月份');ylabel('直径');axis([-inf,inf,0,100]);
legend('神奇花','梦幻花');title('两种花朵不同月份的花朵直径对比图');
  • 实现结果图
    MATLAB-绘图-散点图绘制_第1张图片

  • PS:
    在使用图例时候
    比如这句话,legend(‘神奇花’,‘梦幻花’);
    看上面的a,b均是40×1矩阵,emmm
    类比一下,y1=sin(x),y2=cos(x);legend('咕嘟,‘喵呜’);
    这个咕嘟就是给y1做标注,喵呜给y2做标注。

    40×1矩阵就好像是y=f(x)函数,只不过这个y的值一直等于1.
    假如是1×40的话,标注出来的两个点的颜色会都是一个颜色。
    因为取得是一种类型的第一个数和第二个数,而不是两种不同的类型。
    (大家可以具体试试)
    在这里插入图片描述

的,

scatter

  • 程序实现
a=randi([0,100],40,1);%产生随机数,第1-10个数为神奇花1月的直径,第11-20数是二月的直径,以此类推
b=randi([0,100],40,1);%产生随机数,第1-10个数为神奇花1月的直径,第11-20数是二月的直径,以此类推
kk1=[];
figure;
for i=1:4
   for k=1:10
       kk1=[kk1,i];
   end
end 
scatter(kk1,a,'b','MarkerFaceColor','b','MarkerEdgeColor','b');
xlabel('月份');ylabel('直径');axis([-inf,inf,0,100]);
hold on
scatter(kk1,b,'r','MarkerFaceColor','r','MarkerEdgeColor','r');
xlabel('月份');ylabel('直径');axis([-inf,inf,0,100]);
legend('神奇花','梦幻花');title('两种花朵不同月份的花朵直径对比图');
  • 实现结果图MATLAB-绘图-散点图绘制_第2张图片
  • PS:
    如果原来
    scatter(kk1,a,‘b’,‘MarkerFaceColor’,‘b’,‘MarkerEdgeColor’,‘b’);
    写成了
    scatter(kk1,a,‘b’,‘MarkerFaceColor’,‘b’);
    你会很惊喜的发现这个效果!
    MarkerFaceColor–是填充颜色!
    MarkerEdgeColor–是轮廓颜色!
    在用scatter时候,都要写这个,发现plot就不用,要注意哟!
    MATLAB-绘图-散点图绘制_第3张图片

gscatter

  • 程序实现
figure;
c=magic(10);
%返回由整数110^ 2构成的1010矩阵,行和列的和相等。 
group=[1,1,1,1,1,2,2,2,2,2];
gscatter(c(:,1),c(:,2),group);legend('神奇花','梦幻花');
xlabel('神奇花');ylabel('梦幻花');
title('两种花朵一、二月份的花朵直径特征图');
  • 实现结果图
    MATLAB-绘图-散点图绘制_第4张图片
  • PS:这个也可以指定颜色,点的形状。
    比如gscatter(c(:,1),c(:,2),group,‘br’,‘xo’);

这个函数的学习来源于:
http://www.aiseminar.com/bbs/forum.php?mod=viewthread&tid=561

你可能感兴趣的:(MATLAB,脑机接口--分析方法,matlab)