首页 > 其他分享 >1.基础知识(3) --Matlab绘制特殊的图形

1.基础知识(3) --Matlab绘制特殊的图形

时间:2022-11-09 11:00:29浏览次数:67  
标签:属性 -- 标签 基础知识 对象 Matlab ax pi 刻度

1、指定坐标轴刻度值和标签

自定义沿坐标轴的刻度值和标签有助于突出显示数据的特定方面。以下示例说明一些常见的自定义,例如修改刻度值的放置位置、更改刻度标签的文本和格式,以及旋转刻度标签。

1.1、更改刻度值位置和标签

创建 x,将其指定为200个介于-10 和10之间的线性间隔值,创建x的余弦函数 y,绘制数据图。

x = linspace(-10,10,200);
y = cos(x);
plot(x,y)


1.基础知识(3) --Matlab绘制特殊的图形_自定义

更改沿 x 轴和 y 轴的刻度值位置。将这些位置指定为一个由递增值组成的向量。这些值无需等距。此外,还要更改沿 x 轴的每个刻度值关联的标签。并用一个字符向量元胞数组来指定刻度标签。要在标签中包含特殊字符或希腊字母,可使用 TeX 标记,例如用 \pi 表示 π 符号。

xticks([-3*pi -2*pi -pi 0 pi 2*pi 3*pi])
xticklabels({'-3\pi','-2\pi','-\pi','0','\pi','2\pi','3\pi'})
yticks([-1 -0.8 -0.2 0 0.2 0.8 1])



1.基础知识(3) --Matlab绘制特殊的图形_坐标轴_02

对于 R2016b 之前的版本,应使用 Axes 对象的 XTick、XTickLabel、YTick 和 YTickLabel 属性设置刻度值和标签。例如,将 Axes 对象赋予一个变量(如 ax = gca)。然后使用圆点表示法设置 XTick 属性,例如 ax.XTick = [-3*pi -2*pi -pi 0 pi 2*pi 3*pi]。对于R2014b之前的版本,应使用 set 函数设置此属性。

1.2、旋转刻度标签

创建散点图并沿每条轴旋转刻度标签。将此旋转指定为一个标量值。正值表示逆时针旋转。负值表示顺时针旋转。

x = 1000*rand(40,1);
y = rand(40,1);
scatter(x,y)
xtickangle(45)
ytickangle(90)



1.基础知识(3) --Matlab绘制特殊的图形_数据_03

对于 R2016b 之前的版本,使用 Axes 对象的 XTickLabelRotation 和 YTickLabelRotation 属性指定旋转。例如,将 Axes 对象赋予一个变量(如 ax = gca)。然后使用圆点表示法设置 XTickLabelRotation 属性,例如 ax.XTickLabelRotation = 45。

1.3、更改刻度标签格式

创建针状图并将沿 y 轴的刻度标签值显示为美元值。

profit = [20 40 50 40 50 60 70 60 70 60 60 70 80 90];
stem(profit)
xlim([0 15])
ytickformat('usd')


1.基础知识(3) --Matlab绘制特殊的图形_坐标轴_04

若要进一步控制格式,请指定一种自定义格式。例如,使用 '%.1f' 在 x 轴刻度标签中显示一个十进制值。使用 '\xA3%.2f' 将 y 轴刻度标签显示为英镑。选项 \xA3 表示英镑符号的 Unicode 字符。有关指定自定义格式的详细信息,请参阅xtickformat函数。

xtickformat('%.1f')
ytickformat('\xA3%.2f')

1.4、用于分别控制各个坐标轴的标尺对象

MATLAB为每个坐标轴创建一个标尺对象。与所有图形对象一样,标尺对象也具有可以查看和修改的属性。标尺对象允许进一步分别控制 x 轴、y 轴或 z 轴的格式设置。可以通过 Axes 对象的 XAxis、YAxis 或 ZAxis 属性访问与特定坐标轴关联的标尺对象。标尺的类型取决于坐标轴上的数据类型。对于数值数据,MATLAB 创建 NumericRuler 对象。

ax = gca;

ax.XAxis

ans =

  NumericRuler with properties:


             Limits: [0 15]

              Scale: 'linear'

           Exponent: 0

         TickValues: [0 5 10 15]

    TickLabelFormat: '%.1f'

1.5、使用标尺对象控制指数标签中的值

使用介于-15,000 和 15,000之间的 y 值绘制数据图。默认情况下,y 轴刻度标签使用指数记数法(指数值为 4,底数为 10)。将指数值更改为 2。设置与 y 轴关联的标尺对象的 Exponent 属性。通过 Axes 对象的 YAxis 属性访问标尺对象。指数标签和刻度标签会相应地进行更改。

x = linspace(0,5,1000);
y = 100*exp(x).*sin(20*x);
plot(x,y)
ax = gca;
ax.YAxis.Exponent = 2;



1.基础知识(3) --Matlab绘制特殊的图形_自定义_05

​将指数值更改为 0,使刻度标签不使用指数记数法。

ax.YAxis.Exponent = 0;


1.基础知识(3) --Matlab绘制特殊的图形_数据_06


2、突出显示特定等高线层级

此示例演示如何突出显示特定层级的等高线,在以往的数学建模比赛中经常需要绘制此类图。

将 Z 定义为从 peaks 函数返回的矩阵。

Z = peaks(100);

​对 Z 中的最小和最大数据值四舍五入取整,并分别将这些值存储到 zmin 和 zmax 中。将 zlevs 定义为 40 个介于 zmin 和 zmax 之间的值。

zmin = floor(min(Z(:)));
zmax = ceil(max(Z(:)));
zinc = (zmax - zmin) / 40;
zlevs = zmin:zinc:zmax;


绘制等高线图。

figure
contour(Z,zlevs)



1.基础知识(3) --Matlab绘制特殊的图形_数据_07


将 zindex 定义为 zmin 与 zmax 之间索引值为 2 的整数值向量。

zindex = zmin:2:zmax;


保留之前的等高线图。创建第二个等高线图并使用 zindex 每隔一个整数值突出显示等高线。将线宽设置为 2。

hold on
contour(Z,zindex,'LineWidth',2)
hold off



1.基础知识(3) --Matlab绘制特殊的图形_自定义_08


3、按高度为三维条形着色

此示例演示如何根据条形高度为条形着色,以此方式来修改三维条形图。

使用 magic 函数得到数据的三维条形图。在数组 b 中返回用于创建条形图的曲面对象。向图形添加颜色栏。

Z = magic(5);
b = bar3(Z);
colorbar



1.基础知识(3) --Matlab绘制特殊的图形_数据_09


对每个曲面对象,从 ZData 属性取得 z 坐标数组。使用该数组设置 CData 属性,该属性用于定义顶点颜色。通过将曲面对象的 FaceColor 属性设置为 'interp' 来插入面颜色。

注意:从 R2014b 开始,可以使用圆点表示法查询和设置属性。如果使用的是早期版本,请改用 get和 set函数,例如 zdata = get(b(k),'ZData')。

for k = 1:length(b)
zdata = b(k).ZData;
b(k).CData = zdata;
b(k).FaceColor = 'interp';
end



1.基础知识(3) --Matlab绘制特殊的图形_自定义_10

每个条形的高度决定了它的颜色。您可以通过对比条形颜色和颜色栏来估算条形的高度。




更多详细内容参看


domi,公众号:Matlab学习​​matlab输出论文仿真图​

标签:属性,--,标签,基础知识,对象,Matlab,ax,pi,刻度
From: https://blog.51cto.com/domi/5835182

相关文章

  • 【W3学习】CSS Box Model Module Level 4(CSS 盒子模型模块)
    这个规范描述了margin和padding属性,它们在CSS框内和周围创建间距。以后可能会扩展到包括边框(目前在[css-backgrounds-3]中描述)。  Eachboxhasacontentar......
  • Oracle CloudWorld 2022:重磅推出MySQL湖仓产品-MySQL HeatWave Lakehouse
       MySQLHeatWave是目前唯一一个在单个MySQL数据库中融合了OLTP、OLAP、机器学习和机器学习自动化(Autopilot)的云数据库服务。​Oracle在今年的CloudWorld大会......
  • 基础算法篇——区间合并
    基础算法篇——区间合并本次我们介绍基础算法中的区间合并,我们会从下面几个角度来介绍:区间合并区间合并我们这次的目的很简单:快速高效的完成区间合并任务区间合......
  • 关于Docker的一些事--Docker概述
    为什么会出现docker?背景以一个食品工厂为例子,有一款食品产品,从研发到包装,需要分别两套生产线,虽然感觉说很好,符合SOP,但是吧,产能很慢,这是为什么呢?研发:食品搭配、颜色搭配......
  • shell: logging
    #!/bin/bash#asmalltoolforloggingsommething##1.readyourinput#2.savetologsfile>>~/logs/$(date+%F)#logDir='2-logs'read-p"好记性不如......
  • read 选项交互操作
    脚本样例#!bin/bash#判断是不是有一个传参if[$#!=1];thenecho"执行错误"echo"USAGE:$0需要传入一个参数,参数必须是('手厅主库','仓库','活动','一证五号......
  • Docker安装和常用配置
    Docker安装:Docker安装的一个简单的方式是直接通过官方的安装脚本,指定阿里云镜像可以加快速度。curl-fsSLhttps://get.docker.com|bash-sdocker--mirrorAliyun......
  • 遗留代码处理技巧与案例演示
    1什么是遗留代码本质是一种技术债务,产生原因一方面是业务原因:如业务本身场景繁多、流程复杂等;另一方面是技术原因:如代码不规范、设计不合理、祖传代码文档注释缺失等。它......
  • XCTF---MISC---简单的Base编码
    XCTF---MISC---简单的Base编码flag:flag{d0_y0u_l1ke_base92_!??!_by_Sh3n}解题思路:1、观察题目,下载附件。2、下载完成后打开,发现是一个base64编码的文本文档,数据量相......
  • 611011 CAD 标注的设置与绘制
    本节课讲解11CAD标注的设置与绘制。1.标注有不同的标注样式,设置不同的标注样式大小也是不同的,要自己设置不同空间标注样式。2.模型空间和布局空间两类,进入【标注样式......