草庐IT

Matlab 画图(全网最优质文章)

垫脚摸太阳 2023-04-10 原文

文章目录

画图基本指令

一、散点图

1.最基础的散点图

x = 0.01:0.01:0.08;
y = [3.0743,3.0707,3.0716,3.1133,3.1685,3.1778,3.2467,3.2634];  
scatter(x, y);

2.函数专用散点图

x = linspace(-2, 2, 100);
y = x .^ 3;  
scatter(x, y);

3.设置圆圈大小的散点图

x = linspace(-2, 2, 100);
y = x .^ 2;  
sz = linspace(1, 100, 100);
scatter(x, y, sz);

二、折线图

1.一条线

x = 3:2:11;
y=[4,5,9,6,4];  
plot(x, y);

2.多条线

x = 3:2:11;
y=[4,5,9,6,4;5,8,2,4,3];  
plot(x, y);

三、柱状图(三种)

1.最基础的柱形图

x = 3:2:11;
y=[4,5,9,6,4];  
bar(x, y);

2.多变量柱形图

x=3:5;
y=[4,5,9,6,4;5,7,9,8,7;1,3,5,9,7];  
bar(x,y);

3.三维的柱形图

只需要把bar换成bar3即可。

x=3:5;
y=[4,5,9,6,4;5,7,9,8,7;1,3,5,9,7];  
bar3(x,y);

4.堆叠形柱形图

y=[4,5,9,6,4;5,7,9,8,7;1,3,5,9,7];
bar(y,'stacked');

5.水平柱形图

只需要把bar改成barh即可:

y=[4,5,9,6,4;5,7,9,8,7;1,3,5,9,7];
barh(y);

四、火柴棍图(挺好看的)

clc;clear;
x =linspace(0,2*pi,60);
y = sin(x);
stem(x,y);

clc;clear;
x =linspace(0,2*pi,60);
y1 = sin(x);
y2 = cos(x);
stem(x,y1);
hold on
stem(x,y2);

五、饼状图

1.基本饼状图

y=[4,5,9,6,4];  
pie(y);

2.三维饼状图

把pie该为pie3即可

y=[4,5,9,6,4];  
pie3(y);

3.突出某一扇形的饼状图

X=[2,2,1,5,2];
explode = [0 1 0 0 0];
pie(X,explode);

六、面积图

x=3:8;
y=[45,6,8;7,4,7;6,25,4;7,5,8;9,9,4;2,6,8]; 
area(x,y);

七、雷达图

在另一篇博客上有详解,如下:
Matalb画雷达图(四行代码)

八、双坐标图

分别控制左右坐标就可以了,不要太简单。而且可以很多种图形任意搭配。

 x= 1:3;
 y= [9.0725,9.075,9.5175];
 w= [229,230,207];
 yyaxis left%控制左纵轴
 bar(x,y);
 yyaxis right%控制右纵轴
 plot(x,w);

九、图像分割函数subplot

subplot函数:
使用方法:subplot(m,n,p)或者subplot(m n p)。
subplot是将多个图画到一个平面上的工具。其中,m表示是图排成m行,n表示图排成n列。顺序是先从左到右,再从上到下。p即表示第几个图。

subplot(1,2,1);
y = [3.4308,3.2773,3.1345,3.0526,3.7684,8.1929,15.7455,18.9201]; 
pie(y);
subplot(1,2,2);
y1=[3.0743,3.0707,3.0716,3.1133,3.1685,3.1778,3.2467,3.2634];
pie(y1);


再画一个,便于理解:

subplot(2,2,1);
y = [5,9,3,4,7,8,11,6]; 
plot(y);
subplot(2,2,2);
x=3:8;
y=[45,6,8;7,4,7;6,25,4;7,5,8;9,9,4;2,6,8]; 
area(x,y);
subplot(2,2,3);
x =linspace(0,2*pi,60);
y1 = sin(x);
y2 = cos(x);
stem(x,y1);
hold on
stem(x,y2);
subplot(2,2,4);
y=[4,5,9,6,4;5,7,9,8,7;1,3,5,9,7];
barh(y);

十、罗盘图

clc;clear;
x=-pi:pi/10:pi;
y=sin(x)+cos(x);
compass(x,y,'G')

十一、瀑布图

MyWaterFall([6 -3 4 -5 8],["A" "B" "C" "D" "E"]);

以下是函数:别忘记换文件名了。

function hfig = MyWaterFall(data, Xlabel)
len = length(data);
hfig = figure;
axes1 = axes('Parent',hfig);
hold on;
width = 40;
xbegin = 10;
ybegin = 0;
set(axes1, 'XTick', xbegin+width/2:width*1.5:xbegin+width/2+(len+1)*1.5*width,...
    'XTickLabel', [Xlabel "总计"]);
for i = 1:len
    if data(i) >= 0 
        text(xbegin+width/2+(i-1)*1.5*width, sum(data(1:i)), num2str(data(i), '%g'),...
            'HorizontalAlignment','center','VerticalAlignment','bottom');
    else
        text(xbegin+width/2+(i-1)*1.5*width, sum(data(1:i)), num2str(data(i), '%g'),...
            'HorizontalAlignment','center','VerticalAlignment','top');
    end
end
if sum(data) >= 0
    text(xbegin+width/2+(len)*1.5*width, sum(data), num2str(sum(data), '%g'),...
        'HorizontalAlignment','center','VerticalAlignment','bottom');
else
    text(xbegin+width/2+(len)*1.5*width, sum(data), num2str(sum(data), '%g'),...
        'HorizontalAlignment','center','VerticalAlignment','top');
end
for i = 1:len
    if data(i) >= 0
        rectangle('Position',[xbegin, ybegin, width, data(i)],'facecolor',[0.8500 0.3250 0.0980],...
            'LineWidth',0.5);
    else
        rectangle('Position',[xbegin, ybegin+data(i), width, -data(i)],'facecolor',[0 0.4470 0.7410],...
            'LineWidth',0.5);
    end
    plot([xbegin+width xbegin+1.5*width],[ybegin+data(i) ybegin+data(i)],'k-');
    xbegin = xbegin + width * 1.5;
    ybegin = ybegin +data(i);
end
if sum(data) >= 0
    rectangle('Position',[xbegin, 0, width, ybegin],'facecolor',[0.8500 0.3250 0.0980],...
        'LineWidth',0.5);
else
    rectangle('Position',[xbegin, ybegin, width, -ybegin],'facecolor',[0.8500 0.3250 0.0980],...
        'LineWidth',0.5);
end
end

十二、总结

目前就写这么多吧,还有哪些好图,评论留言告诉博主呀,以后会不断的更新,尽量总结出所有的图。创作不易,记得点赞关注哦。

有关Matlab 画图(全网最优质文章)的更多相关文章

  1. Matlab imread()读到了什么 (浅显 当复习文档了) - 2

    matlab打开matlab,用最简单的imread方法读取一个图像clcclearimg_h=imread('hua.jpg');返回一个数组(矩阵),往往是a*b*cunit8类型解释一下这个三维数组的意思,行数、数和层数,unit8:指数据类型,无符号八位整形,可理解为0~2^8的数三个层数分别代表RGB三个通道图像rgb最常用的是24-位实现方法,即RGB每个通道有256色阶(2^8)。基于这样的24-位RGB模型的色彩空间可以表现256×256×256≈1670万色当imshow传入了一个二维数组,它将以灰度方式绘制;可以把图像拆分为rgb三层,可以以灰度的方式观察它figure(1

  2. MIMO-OFDM无线通信技术及MATLAB实现(1)无线信道:传播和衰落 - 2

     MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO

  3. 建模分析 | 平面2R机器人(二连杆)运动学与动力学建模(附Matlab仿真) - 2

    目录0专栏介绍1平面2R机器人概述2运动学建模2.1正运动学模型2.2逆运动学模型2.3机器人运动学仿真3动力学建模3.1计算动能3.2势能计算与动力学方程3.3动力学仿真0专栏介绍?附C++/Python/Matlab全套代码?课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索、采样法、智能算法等);局部规划(DWA、APF等);曲线优化(贝塞尔曲线、B样条曲线等)。?详情:图解自动驾驶中的运动规划(MotionPlanning),附几十种规划算法1平面2R机器人概述如图1所示为本文的研究本体——平面2R机器人。对参数进行如下定义:机器人广义坐标

  4. ABB-IRB-1200运动学分析MATLAB RVC工具分析+Simulink-Adams联合仿真 - 2

    一、机器人介绍        此处是基于MATLABRVC工具箱,对ABB-IRB-1200型号的微型机械臂进行正逆向运动学分析,并利Simulink工具实现对机械臂进行具有动力学参数的末端轨迹规划仿真,最后根据机械模型设计Simulink-Adams联合仿真。 图1.ABBIRB 1200尺寸参数示意图ABBIRB 1200提供的两种型号广泛适用于各作业,且两者间零部件通用,两种型号的工作范围分别为700 mm 和 900 mm,大有效负载分别为 7 kg 和5 kg。 IRB 1200 能够在狭小空间内能发挥其工作范围与性能优势,具有全新的设计、小型化的体积、高效的性能、易于集成、便捷的接

  5. ruby-on-rails - rails delete_if 使用哈希忽略当前文章(中间人) - 2

    我为你们准备了一个简单的。我想要一个特色内容部分,其中排除了当前文章所以这可以通过delete_if使用MiddlemanBlog:但是我使用的是中间人代理,所以我无法访问current_article方法...我有一个YAML结构,其中包含以下模拟数据(以及其他数据),文件夹设置如下:data>site>caseStudy>RANDOM-ID423536.yaml(由CMS生成)在每个yaml文件中,您会发现如下内容::id:2k1YccJrQsKE2siSO6o6ac:title:Heyplace我的config.rb看起来像这样data.site.caseStudy.eachdo

  6. ruby - 在 Middleman 中移动博客文章位置 - 2

    我正在为我的网站使用MiddlemanBloggem,但默认情况下,博客文章似乎需要位于/source中,这在查看vim中的树时并不是特别好并尝试在其中找到其他文件之一(例如模板)。通过查看文档,我看不出是否有任何方法可以移动博客文章,以便将它们存储在其他地方,例如blog_articles文件夹或类似文件夹。这可能吗? 最佳答案 将以下内容放入您的config.rb文件中。activate:blogdo|blog|blog.permalink=":year-:month-:day-:title.html"blog.sources=

  7. ruby-on-rails - 文章#index 中的 Ruby on Rails 教程 NoMethodError - 2

    所以我正在关注http://guides.rubyonrails.org/getting_started.html上的官方ROR教程我被困在第5.8节,它教我如何列出所有文章下面是我的controller和index.html.erbControllerclassArticlesControllerindex.html.erbListingarticlesTitleText我收到带有错误消息的NoMethodErrorinArticles#indexundefinedmethod`each'fornil:NilClass"怎么了?我从网站上复制并粘贴了代码以查看我做错了什么,但仍然无法

  8. 《ChatGPT实用指南》(精编版)重磅发布,全网免费分享,快上车,别掉队 - 2

    文/高扬(微信公众号:量子论)据上次3月18号发布的V1.8版,已经过去十天,这期间AI领域发生了很多重大变化。因此,我们对《ChatGPT实用指南》进行了重大改版,增加了大量实用的操作和详细的讲解,保证小白可以轻松上手,快速驾驭ChatGPT。V2.0版本亮点:1、结构更合理。分为基础篇、进阶篇、高级篇,从易到难,由浅入深,符合学习规律。2、内容更充实。扩充了27页的内容,尽量看图说话,将操作步骤一步步地展示出来。3、排版更美观。按图书出版的规范制作,便于知识点查阅。后记:2022年11月底,我们在HackerNews上看到了关于ChatGPT的新闻报道后,开始意识到,人工智能的春天来了,这

  9. 慢跑者与狗 & 地中海鲨鱼问题的matlab解法 - 2

    慢跑者与狗问题描述一个慢跑者在平面上沿椭圆以恒定的速率𝒗=𝟏跑步,设椭圆方程为:𝒙=𝟏𝟎+𝟐𝟎𝒄𝒐𝒔(𝒕),𝒚=𝟐𝟎+𝟓𝒔𝒊𝒏(𝒕)。突然有一只狗攻击他,这只狗从原点出发,以恒定速率𝒘跑向慢跑者,狗的运动方向始终指向慢跑者。分别求出𝒘=𝟐𝟎,𝒘=𝟓时狗的运动轨迹。模型建立设时刻t慢跑者的坐标为(𝑿(𝒕),𝒀(𝒕)),狗的坐标为(𝒙(𝒕),𝒚(𝒕))。则𝑿=𝟏𝟎+𝟐𝟎𝒄𝒐𝒔(𝒕),𝒀=𝟐𝟎+𝟏𝟓𝒔𝒊𝒏(𝒕),狗从(0,0)出发,建立狗的运动轨迹的参数方程:由于狗始终对准人,因而狗的速度方向平行于狗与人位置的差向量:消去𝝀,得由题意𝑿=𝟏𝟎+𝟐𝟎𝒄𝒐𝒔𝒕,𝒀=𝟐𝟎+1𝟓𝒔𝒊𝒏(𝒕),狗从(0,0)

  10. C++调用matlab函数(未安装 matlab 也可以使用) - 2

            在正常工作环境中往往是可以使用无线网络的,此时安装一个matlab也不是什么难事;但是也难免也会遇到一些工作电脑不允许链接无线网络,此时若安装一个matlab则是一件非常痛苦的事,因为其安装包就20多个G,当时我是用手机开热点下载的,仅仅下载安装包就浪费了一个下午+一个晚上;       下面就举一个例子,针对安装过matlab和未安装过matlab的情况去介绍C++调用matlab函数的操作流程:一、封装matlab函数首先把matlab代码封装成函数的形式,下面举一个简单的函数为例;functionc=myadd(a,b)c=a+b;end二、编译matlab函数具体的编译

随机推荐