MATLAB十九种作图大全

一、二维曲线图

        反应两个变量的因果关系

clear;                    %清除工作空间的所有变量
clc;                      %清除命令窗口的内容,对工作环境中的全部变量无任何影响
close all;                %关闭所有的Figure窗口
x = linspace(1,200,100);  %均匀生成数字1-200,共计100个
y1 = log(x) + 1;          %生成函数y = log(x) + 1
y2 = log(x) + 2;          %生成函数y = log(x) + 2
figure;                   %创建一个新的窗口
plot(x,y1);               %作图y = log(x) + 1
hold on                   %多图共存在一个窗口上
plot(x,y2,'LineWidth',2); %作图y=log(x)+2,LineWidth指线型的宽度尺寸2
hold off                  %关闭多图共存在一个窗口上
legend('y1','y2');        %生成图例y1和y2

二、二维散点图

figure;
y3 = y1 + rand(1,100) - 0.5;
plot(x,y1,'LineWidth',2,'Color',[0.21,0.21,0.67]);
hold on
%设置数据点的形状、数据点的填充颜色、数据点的轮廓颜色
plot(x,y3,'o','LineWidth',2,'Color',[0.46,0.63,0.90],'MarkerFaceColor',[0.35,0.90,0.89],'MarkerEdgeColor',[0.18,0.62,0.17]);
                                                      %MarkerFaceColor设置内部填充颜色  MarkerEdgeColor设置外部边框填充颜色
hold off

三、二维渐变色图

用不同的颜色、数据点大小表征不同数值,

x = linspace(0,3*pi,200);
y = cos(x) + rand(1,200); %随机生成1*200,位于[0,1]的数字
sz = 25;                  %尺寸为25
c = linspace(1,10,length(x));
scatter(x,y,sz,c,'filled')

四、二维条形图

A = [60.689;87.714;143.1;267.9515];
C = [127.5;160.4;231.9;400.2];
B = C - A;
D = [A,B,C];
bar1 = bar([2:5:17],A,'BarWidth',0.2,'FaceColor','k');          %画A的数据
hold on;
bar2 = bar([3:5:18],B,"BarWidth",0.2,'FaceColor',[0.5 0.5 0.5]);%画B的数据
hold on;
bar3 = bar([4:5:19],C,'BarWidth',0.2,'FaceColor','w');          %画C的数据
ylabel('耗时/s');                          %为Y轴增加标签   
xlabel('GMM阶数');                         %为Z轴增加标签
legend('训练耗时','测试耗时','总耗时');      %在坐标区域上添加图例
labelID = {'8阶','16阶','32阶','64阶'};    %定义刻度标签名称
set(gca,'XTick',3:5:20);                   %XTick为设置X轴的刻度
set(gca,'XTickLabel',labelID);             %XTickLabel为设置X轴的刻度标签

五、二维填充图

x = 0.4:0.1:2*pi;       %定于x
y1 = sin(2*x);          %定义y1
y2 = sin(x);            %定义y2
%确定y1和y2的上下边界
maxY = max([y1;y2]);    
minY = min([y1;y2]);
%确定填充多边形,按照顺时针方向来确定点
%fliplr实现左右翻转
xFill = [x,fliplr(x)];
yFill = [maxY,fliplr(minY)];
figure
fill(xFill,yFill,[0.21,0.21,0.67]);     %填充
hold on
%绘制轮廓线
plot(x,y1,'k','LineWidth',2)    %画y1关于x的曲线
plot(x,y2,'k','LineWidth',2)    %画y2关于x的曲线
hold off

六、多Y轴图

figure;
load('accidents.mat','hwydata' )       %加载名为 "accidents.mat" 的文件,并将其中名为 "hwydata" 的变量加载到 MATLAB 的工作空间中   
ind = 1:51;                      
drivers = hwydata(:,5);                %从hwydata中提取第5列的数据,并将其存储在名为drivers的变量中
yyaxis left                            %在图形中创建一个新的Y轴,并将其放置在左侧
scatter(ind,drivers,'LineWidth',2);    %绘制散点图,其中ind是X轴上的数据,drivers是Y轴上的数据。'LineWidth',2参数用于设置散点图中数据点的线宽为2个单位。
title('Highway Data');                 %标题
xlabel('States');                      %X标签
ylabel('Licensed Drivers(thousands)'); %Y轴标签
pop = hwydata(:,7);                    %从名为hwydata的数据集中提取第7列的数据,并将其赋值给变量pop
yyaxis right                           %将下一个绘图操作的Y轴切换到右侧                      
scatter(ind,pop,'LineWidth',2);        %绘制一个散点图
ylabel('Vehicle Miles Traveled(millions)'); %

七、二维场图

[x,y] = meshgrid(0:0.1:1,0:0.1:1);      
u = x;
v = -y;
startx = 0.1:0.1:0.9;           
starty = ones(size(startx));
%需要获取所有流线的属性
figure;
quiver(x,y,u,v);    %该函数使用箭头来直观的显示矢量场,小箭头来表示以该点为起点的向量(u,v)
streamline(x,y,u,v,startx,starty);      %绘制流线图,其中(x,y)是网格的坐标,(u,v)是在每个点上的水平和垂直速度分量,(startx,starty)是指定流线的起始点。

八、三维曲线图

figure;
t = 0:pi/20:10*pi;  
xt = sin(t);    
yt = cos(t);    
plot3(xt,yt,t,'-o','Color','b','MarkerSize',10);    %绘制三维图形

九、三维散点图

十、三维伪彩图

十一、裁剪伪彩图

十二、等高线图

十三、三维等高线图

十四、等高线填充图

十五、三维矢量场图

十六、伪彩图+投影图

十七、热图

十八、分子模型图

十九、分形图

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值