matlab画图函数基本使用(适合新手)

article/2025/9/12 19:27:51

matlab画图函数基本使用(适合新手)

  • 画图
    • 1. 散点图(scatter()函数):
    • 2. 函数图像(plot()函数):
      • 1. 在同一张图绘制多条曲线
      • 2. 改变颜色和大小
      • 3.限制X Y坐标轴范围
      • 4.grid on 加上网格线
      • 5. subplot函数绘制多个子图
    • 3.拟合N阶曲线(polyfit()函数和polyval()函数)

画图

1. 散点图(scatter()函数):

scatter(X,Y) 简单来用给出X Y的值通过函数便能在该坐标上画出一个圆圈,例如

scatter(1,2)

在这里插入图片描述
如果将X Y替换成长度相同的数组(长度不同自然无法一一对应)便能够画出多组点

我们可能根据实际的需要,会调整圆圈大小和颜色,那么就要在scatter()后面添加相应的变量
scatter(X,Y,S,C)
S 必须为标量或长度与 X 相同的矢量。
(如果S是标量,则MATLAB绘制所有标记的大小相同。如果S是矢量,则分别对应为X、Y所确定圆的大小)
C 必须为 RGB 三元数、与 X 长度相同的 M×1 矢量或 M×3 矩阵。

x = linspace(0,3*pi,200);
y = cos(x) + rand(1,200);
sz = linspace(1,100,200);
c = linspace(1,10,length(x));
scatter(x,y,sz,c)

在这里插入图片描述
在scatter(x,y,s,c,A) 改变A的“值”可以将“点”做相应的转换
’filled‘ --------------------------------------实心圆
‘s’ -------------------------------------------正方形
’d‘--------------------------------------------菱形
’.’---------------------------------------------点 (实用性强!)
‘p’--------------------------------------------⭐(配上颜色很好看!)

2. 函数图像(plot()函数):

  

plot()函数为我们提供了绘制函数图像的功能,通过plot(x,y)变可绘制函数图像

x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)

  
在这里插入图片描述

下面交代一下此函数使用需注意的地方和一些扩展使用:
  

1. 在同一张图绘制多条曲线

x1 = linspace(-2*pi,2*pi);
x2 = linspace(0,4*pi);
y1 = sin(x1);
y2 = cos(x2);figure
plot(x1,y1,x2,y2)

运行结果:
在这里插入图片描述
  

  
也可以通过hold on hold off语句实现:(效果相同)
代码如下:
  

x1 = linspace(-2*pi,2*pi);
x2 = linspace(0,4*pi);
y1 = sin(x1);
y2 = cos(x2);figure
plot(x1,y1)
hold on
plot(x2,y2)
hold off

  

  

2. 改变颜色和大小

plot(x1,y1,‘c’,x2,y2,‘y’) 后面加上相应的颜色变可改变曲线颜色便于区分(系统会默认蓝和红,自古红蓝出CP)
同样plot(x1,y1,x2,y2,’–’,x,y3,’:’) 可以改变曲线类型,

plot(x,y,'b--')

b代表BLUE , - -代表曲线类型, 读者自行尝试使用
  
  

3.限制X Y坐标轴范围

3.加入ylim([a,b])和xlim([c,d])来确定函数x,y的 范围:

x = [-5 -eps(1) 0 eps(1) 5];
y = sign(x);
plot(x,y)
grid on

在这里插入图片描述
  

可以看出Y的范围是-1到1画出的图像也刚好定格,这样十分不美观,我们利用ylim()加以修饰,代码如下:

x = [-5 -eps(1) 0 eps(1) 5];
y = sign(x);
plot(x,y)
ylim([-2 2])
grid on

  

在这里插入图片描述
  

  

4.grid on 加上网格线

在上面的例子中,加入了grid on 所以图中就会出现网格

  

  

  

5. subplot函数绘制多个子图

subplot(m,n,p)在mXn的区域内绘制图像,p为第几个子图。

x = linspace(0,10);
y1 = sin(x);
y2 = sin(2*x);
y3 = sin(4*x);
y4 = sin(8*x);
figure
subplot(2,2,1)
plot(x,y1)
title('Subplot 1: sin(x)')subplot(2,2,2)
plot(x,y2)
title('Subplot 2: sin(2x)')subplot(2,2,3)
plot(x,y3)
title('Subplot 3: sin(4x)')subplot(2,2,4)
plot(x,y4)
title('Subplot 4: sin(8x)')

在这里插入图片描述

3.拟合N阶曲线(polyfit()函数和polyval()函数)

polyfit()基本使用:

polyfit(x,y,n)拟合N阶多项式系数(注意这里只是拟合系数,并不能画出函数图像,需要借助其他函数绘制拟合曲线的函数图像)

p(x)=p1xn+p2xn−1+…+pnx+pn+1

x = linspace(0,4*pi,10);
y = sin(x);
p = polyfit(x,y,7)

运行结果如下:
p =

-0.0001 0.0028 -0.0464 0.3702 -1.3808 1.9084 -0.1141 0.0002

在这里在介绍一种函数 polyval()用于函数估值运算

p = [3 2 1];
polyval(p,[5 7 9])

结果为:

ans =

86   162   262

也就是当 p(x)=3X^2+2X+1时,X分别等于5,7,9的值。

所以可以将两个函数一起使用,即用polyfit()函数给出拟合曲线系数,再用polyval()函数计算拟合后曲线的Y值,有了X,Y我们就可以画出拟合后曲线的图像。`

x = linspace(0,1,5);
y = 1./(1+x);p = polyfit(x,y,4);x1 = linspace(0,2);
y1 = 1./(1+x1);
f1 = polyval(p,x1);figure
plot(x,y,'o')
hold on
plot(x1,y1)
plot(x1,f1,'r--')
legend('y','y1','f1')


http://chatgpt.dhexx.cn/article/c6nocs0f.shtml

相关文章

MATLAB常用画图函数

图形化 用plot举例直方图histogram条形图bar和barh饼状图pie极坐标polarplot和polarscatter三维图像plot3surfcmeshccontour3contourcontourf 用plot举例 x1 linspace(0,5); y1 sin(4*x);% 在一张画布上生成特定个数的子图像 % 第一个参数横向几个子图 % 第二个参数纵向几个…

What is Drilldown configuration

Created by Wang, Jerry on Aug 25, 2015

Echarts实现柱状图下钻功能

需求描述 在一个类别柱状图上,点击柱状图上的某一类后可显示该类具体的数据。 钻取的定义 钻取是改变维的层次,变换分析的粒度。包括向上钻取(drill up)和向下钻取(drill down).drill up 是在某一维上将低层次的细节数据概括到高层次的汇总数据&#…

Highcharts实现下钻多柱series

钻取功能需要引入或注册额外的功能模块&#xff0c;链接是官方模块的引入文档。 前言 Highcharts实现下钻动态添加多个series 实现 <template><divref"chartRef"style"height:300px;width:800px"></div> </template><script…

手把手教你实现echarts3的折线图下钻drilldown功能系列篇二

开场白 好了, 上一篇介绍了关于echarts下钻&#xff08;drilldown&#xff09;的一些信息&#xff0c;通过上一篇文章我们知道echarts折线图&#xff0c;柱状图没有支持下钻&#xff08;drilldown&#xff09;功能的api&#xff0c;那就需要我们自己动手&#xff0c;丰衣足食了…

Kibana:在 Kibana 中对数据进行深入分析 (drilldown)

我们可以在 Kibana 中对数据进行分析&#xff0c;并生产表格等。我们是否可以为我们展示的数据生产超链接呢&#xff1f;比如&#xff1a; 在我们上面的表格中在左边的表格中&#xff0c;上面所示的 US 是一个超链接。我们点击这个超链接后&#xff0c;它会帮我们启动一个搜索。…

Kibana:使用 drilldown 从一个仪表板切换到另外一个仪表板

Drilldowns&#xff08;也称为自定义操作&#xff09;使你可以配置工作流以对数据进行分析和故障排除。 使用 drilldowms&#xff0c;你可以从一个仪表板导航到另一个仪表板&#xff0c;并随身携带当前时间范围&#xff0c;过滤器和其他参数&#xff0c;因此上下文保持不变。 你…

Kibana:Drilldown 中的 URL 模板

警告&#xff1a;此功能处于 beta 版本&#xff0c;可能会更改。 该设计和代码不如正式的 GA 功能成熟&#xff0c;并且按原样提供&#xff0c;不提供任何担保。 Beta 功能不受官方 GA 功能的支持 SLA 约束。此功能在 7.11 及以上版本提供。 URL 模板 输入使用 Handlebars&…

highchart图表drilldown钻取功能及event点击事件添加(1)

最近做的一个需求是这样的&#xff0c;大类图表柱状图列出来&#xff0c;点击柱状图列出对应子类柱状图&#xff0c;后点击子类的柱状图后跳转到一个新页面列出两个饼状图 我是这么实现的&#xff1a;&#xff08;部分代码demo,饼状图页面为detailChart.html,随便找了个例子顶…

Kibana:为 table 创建链接 drilldown - 7.11 版本

在之前的文章 “Kibana&#xff1a;为 Dashboard 创建链接 drilldown - 7.11 版本”&#xff0c;我为大家介绍了如何使用带参数的 URL drilldown。在很多的时候&#xff0c;在 dashboard 中&#xff0c;有 table 的可视化。那么我们将如何为 table 中的项提供可视化呢&#xf…

下钻图生成 highcharts-column-drilldown

下钻图生成 highcharts-column-drilldown 功能 使用python生成下钻图 来源&#xff1a;https://www.highcharts.com.cn/demo/highcharts/column-drilldown 下钻层数由具体的输入决定&#xff0c;理论上可以无限下钻&#xff0c;不过下钻的层数越深也就意味着需要计算的时间越…

Kibana:为 Dashboard 创建链接 drilldown - 7.11 版本

我在之前的文章 “Kibana&#xff1a;使用 drilldown 从一个仪表板切换到另外一个仪表板” 展示了如何在 dashboard 里使用 drilldown 从一个仪表板到另外一个仪表板的跳转。在今天的文章中&#xff0c;我将介绍如何创建一个链接 drilldown 从而实现从 dashboard 到一个链接的跳…

终极玩转Power BI中Drill-down Choropleth 地图

故事背景 最近有个Power BI的项目有个功能点&#xff0c;颇令我头痛&#xff0c;说来话长&#xff0c;先捋一下需求&#xff1a; 1&#xff0c; 中国地图&#xff08;包含港澳台&#xff09; 2&#xff0c; 可以下钻到省市级&#xff0c;而且是中国->Region->Area->城…

C语言计算阶乘及阶乘的和

计算 n的阶乘。要实现这个阶乘的值并不难&#xff0c;只需要运用到for循环依次相乘即可&#xff0c;但要注意for循环i的初始值一定是从1开始到n结束。 #include<stdio.h> int main() {int i,n;int ret 1;//用于存放阶乘的值scanf("%d", &n);for (i 1; i…

c语言求阶乘的两种算法(递归和循环)

循环法 循环法还是比较简单的&#xff0c;很常规&#xff0c;就先输入你要求的阶乘n&#xff0c;然后一直自减 #include <stdio.h> main() {long n,sum1;//10 以上的阶乘就比较大了&#xff0c;所以用longint i;printf("请输入你要求的阶乘呀&#xff1a;");…

【C语言】求一个数的阶乘

#include <stdio.h> //包含标准库的信息int main(void) //每个程序都从main函数的起点开始执行 { //函数开始int p 1;int n;printf("请输入所求阶乘&#xff1a;\n");scanf("%d",&…

C语言求1到20的阶乘之和

#include<stdio.h>int main() {int i, j;long long sum 0, jieCheng;for (i 1; i < 20; i){jieCheng 1;for (j 1; j < i; j){jieCheng * j;}sum jieCheng;}printf("%lld", sum);return 0; }

C语言基础 阶乘:输入一个数,输出它的阶乘。

升级打怪 C语言基础第一题 题目&#xff1a; 输入一个数字&#xff0c;输出它的阶乘。 求阶乘有很多种方法&#xff0c;我下面来例举一种使用while语句的方法&#xff01; 1.首先定义变量&#xff1b; 2.输入所要求的阶乘&#xff1b; 3.使用while循环 fact*i 就是 fac…

阶乘求和 C语言实现求阶乘之和 三种方法实现 先阶乘再累加

题目&#xff1a; 此处题目是以1-20的阶乘之和举例 方法一&#xff1a;使用一层for循环实现 代码简单快捷容易理解 代码示例如下&#xff1a; #include<stdio.h> int main() {double a 1, sum 0;//因为最后值可能会超出int所能接收的范围 故用doubleint n, i;scanf…

C语言 求n的阶乘及阶乘和

题目 随机输入一个整数n&#xff0c;求出n的阶乘 思路 阶乘&#xff0c;每次乘的数依次递增&#xff0c;直到第n个数&#xff0c;因此我们可以设置一个变量result&#xff0c;用于储存每一次的运算结果。且每次乘的数都依次递增&#xff0c;可以使用for循环语句&#xff0c;…