MATLB|可视化学习(plot和bar)

网友投稿 314 2022-11-03


MATLB|可视化学习(plot和bar)

目录

​​1 概述​​

​​2 线图plot​​

​​2.1 创建线图​​

​​2.2 绘制多个线条​​

​​2.3 利用矩阵创建线图​​

​​2.4 指定线型​​

​​2.5 指定线型、颜色和标记​​

​​2.5 在特定的数据点显示标记​​

​​2.6 指定线宽、标记大小和标记颜色​​

​​2.7 添加标题和轴标签​​

​​2.8 Linestyle -线型​​

​​2.9 Marker -标记符号​​

​​2.10 Color -线条颜色​​

​​ 3 条形图bar ​​

​​3.1 创建条形图​​

​​3.2 指定条形位置​​

​​3.3 指定条形宽度​​

​​3.4 显示条形组​​

​​3.5 显示堆叠条形图​​

​​3.6 显示具有负数据的堆叠条形​​

​​3.7 指定分类数据​​

​​3.8 指定条形颜色​​

​​3.9 指定条形和轮廓颜色​​

1 概述

科研中经常需要画图,这一次,我们详细对制图进行讲解。

2 线图plot

2.1 创建线图

将 ​​x​​​ 创建为由 0 和 2π 之间的线性间隔值组成的向量。在各值之间使用递增量 π/100。将 ​​y​​​ 创建为 ​​x​​ 的正弦值。创建数据的线图。

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

2.2 绘制多个线条

将 ​​x​​​ 定义为 100 个介于 −2π 和 2π 之间的线性间隔值。将 ​​y1​​​ 和 ​​y2​​​ 定义为 ​​x​​ 的正弦和余弦值。创建上述两个数据集的线图。

x = linspace(-2*pi,2*pi);y1 = sin(x);y2 = cos(x);figureplot(x,y1,x,y2)

2.3 利用矩阵创建线图

将 ​​Y​​​ 定义为 ​​magic​​ 函数返回的 4×4 矩阵。

Y = magic(4)

Y = 4×4 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 创建 ​​Y​​ 的二维线图。MATLAB®将矩阵的每一列绘制为单独的线条。

figureplot(Y)

2.4 指定线型

绘制三条正弦曲线,每条曲线之间存在较小的相移。第一条曲线使用默认的线型。为第二条曲线指定虚线样式,为第三条曲线指定点线样式。

x = 0:pi/100:2*pi;y1 = sin(x);y2 = sin(x-0.25);y3 = sin(x-0.5);figureplot(x,y1,x,y2,'--',x,y3,':')

MATLAB按默认的色序循环使用线条颜色。

2.5 指定线型、颜色和标记

绘制三条正弦曲线,每条曲线之间存在较小的相移。第一条正弦曲线使用绿色线条,不带标记。第二条正弦曲线使用蓝色虚线,带圆形标记。第三条正弦曲线只使用青蓝色星号标记。

x = 0:pi/10:2*pi;y1 = sin(x);y2 = sin(x-0.25);y3 = sin(x-0.5);figureplot(x,y1,'g',x,y2,'b--o',x,y3,'c*')

2.5 在特定的数据点显示标记

通过指定标记符号并将 ​​MarkerIndices​​ 属性设置为名称-值对组,创建一个线图并每隔四个数据点显示一个标记。

x = linspace(0,10);y = sin(x);plot(x,y,'-o','MarkerIndices',1:5:length(y))

2.6 指定线宽、标记大小和标记颜色

创建线图并使用 ​​LineSpec​​​ 选项指定带正方形标记的绿色虚线。使用 ​​Name,Value​​ 对组来指定线宽、标记大小和标记颜色。将标记边颜色设置为蓝色,并使用 RGB 颜色值设置标记面颜色。

x = -pi:pi/10:pi;y = tan(sin(x)) - sin(tan(x));figureplot(x,y,'--gs',... 'LineWidth',2,... 'MarkerSize',10,... 'MarkerEdgeColor','b',... 'MarkerFaceColor',[0.5,0.5,0.5])

2.7 添加标题和轴标签

使用 ​​linspace​​​ 函数将 ​​x​​​ 定义为 0 到 10 之间 150 个值组成的向量。将 ​​y​​​ 定义为 ​​x​​ 的余弦值。

x = linspace(0,10,150);y = cos(5*x);

创建余弦曲线的二维线图。使用 RGB 颜色值将线条颜色更改为蓝绿色。使用 ​​title​​​、​​xlabel​​​ 和 ​​ylabel​​ 函数为图形添加标题和轴标签。

figureplot(x,y,'Color',[0,0.7,0.9])title('2-D Line Plot')xlabel('x')ylabel('cos(5x)')

2.8 Linestyle -线型

线型、标记和颜色,指定为包含符号的字符向量或字符串。符号可以按任意顺序显示。您不需要同时指定所有三个特征(线型、标记和颜色)。例如,如果忽略线型,只指定标记,则绘图只显示标记,不显示线条。

示例: ​​'--or'​​ 是带有圆形标记的红色虚线

2.9 Marker -标记符号

标记符号,指定为下表中列出的值之一。默认情况下,对象不显示标记。指定标记符号可在每个数据点或顶点添加标记。

2.10 Color -线条颜色

线条颜色,指定为 RGB 三元组、十六进制颜色代码、颜色名称或短名称。

对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。

RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于​​[0,1]​​ 范围内,例如 ​​[0.4 0.6 0.7]​​。十六进制颜色代码是字符向量或字符串标量,以井号 (​​#​​) 开头,后跟三个或六个十六进制数字,范围可以是 ​​0​​ 到 ​​F​​。这些值不区分大小写。因此,颜色代码 ​​'#FF8800'​​ 与 ​​'#ff8800'​​、​​'#F80'​​ 与 ​​'#f80'​​ 是等效的。

示例: ​​'blue'​​示例: ​​[0 0 1]​​示例: ​​'#0000FF'​​

此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。

以下是 MATLAB 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。

3 条形图bar

3.1 创建条形图

y = [75 91 105 123.5 131 150 179 203 226 249 281.5];bar(y)

3.2 指定条形位置

指定沿 x 轴的条形位置。

x = 1900:10:2000;y = [75 91 105 123.5 131 150 179 203 226 249 281.5];bar(x,y)

3.3 指定条形宽度

将各条形的宽度设置为各条形可用总空间的 40%。

y = [75 91 105 123.5 131 150 179 203 226 249 281.5];bar(y,0.4)

3.4 显示条形组

显示四个条形组,每一组包含三个条形。

y = [2 2 3; 2 5 6; 2 8 9; 2 11 12];bar(y)

3.5 显示堆叠条形图

为矩阵中的每一行显示一个条形。每个条形的高度是行中各元素之和。

y = [2 2 3; 2 5 6; 2 8 9; 2 11 12];bar(y,'stacked')

3.6 显示具有负数据的堆叠条形

将 ​​x​​​ 定义为一个包含三个年份值的向量。将 ​​y​​ 定义为包含负值和正值组合的矩阵。在条形图中显示这些值。

x = [1980 1990 2000];y = [15 20 -5; 10 -17 21; -10 5 15];bar(x,y,'stacked')

3.7 指定分类数据

指示条形图类别的一种方法是将 ​​X​​​ 指定为分类数组。​​bar​​​ 函数使用经过排序的类别列表,因此条形的显示顺序可能与您预期的有所不同。要保留顺序,请调用 ​​reordercats​​ 函数。

将 ​​X​​​ 定义为分类数组,并调用 ​​reordercats​​​ 函数来指定条形的顺序。然后将 ​​Y​​ 定义为条形高度向量,并显示条形图。

X = categorical({'Small','Medium','Large','Extra Large'});X = reordercats(X,{'Small','Medium','Large','Extra Large'});Y = [10 21 33 52];bar(X,Y)

3.8 指定条形颜色

使用红色条形创建一个条形图。

y = [75 91 105 123.5 131 150 179 203 226 249 281.5];bar(y,'r')

3.9 指定条形和轮廓颜色

使用 RGB 三元组设置条形内部颜色和轮廓颜色。设置条形轮廓的宽度。

y = [75 91 105 123.5 131 150 179 203 226 249 281.5];bar(y,'FaceColor',[0 .5 .5],'EdgeColor',[0 .9 .9],'LineWidth',1.5)


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:使用java编程从0到1实现一个简单计算器
下一篇:全国计算机等级考试成绩查询API(全国计算机等级考试成绩查询时间)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~