第5章 数据可视化——5.2 二维图形绘制(2)

简介: 第5章 数据可视化——5.2 二维图形绘制(2)

5.2  二维图形绘制(2)


5.2.3  文字说明


通常,曲线所表示的函数或数据的规律都需要进行一些文字说明或标注。图形窗口中的文本操作指令如下。

● title('text'):在图形窗口顶端的中间位置输出字符串“text”作为标题。

● xlabel('text'):在x轴下的中间位置输出字符串“text”作为标注。

● ylabel('text'):在y轴边上的中间位置输出字符串“text”作为标注。

● zlabel('text'):在z轴边上的中间位置输出字符串“text”作为标注。

● text(x,y,'text'):在图形窗口的(x,y)处写字符串“text”。坐标xy按照与所绘制图形相同的刻度给出。对于向量xy,字符串“text”写在(xi,yi)的位置上。如果“text”是一个字符串向量,即一个字符矩阵,且与xy有相同的行数,则第i行的字符串将写在图形窗口的(xi ,yi)位置上。

● text(x,y,'text','sc'):在图形窗口的(x,y)处输出字符“text”,给定左下角的坐标为(0.0,0.0),右上角的坐标则为(1.0,1.0)gtext('text')通过使用鼠标或方向键,移动图形窗口中的十字光标,让用户将字符串text放置在图形窗口中。当十字光标走到所期望的位置时,用户按下任意键或单击任意按钮,字符串将会写入窗口中。

● legend(str1,str2,...,pos):在当前图形上输出图例,并用说明性字符串str1str2等做标注。其中,参数pos的可选项目如表5-1所示。

5-1  曲线线型

线型代号

表示线型

-1

将图例框放在坐标轴外的右侧

0

将图例框放在图窗内与曲线交叠最小的位置

1

将图例框放在图窗内右上角

2

将图例框放在图窗内左上角

3

将图例框放在图窗内左下角

4

将图例框放在图窗内右下角


● legend(str1,str2,...,'Location','pos'):在当前图形上输出图例,并用说明性字符串str1str2等做标注。其中,参数pos的可选项目如表5-2所示。

5-2  图形标记

e8ee6f6a2429cfab8a73c439378a8595_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


● legendoff:从当前图形中清除图例。


5-12:图窗内文字说明示例。

创建M文件并命名为radioaxis.m(同时存为ex5_12.m),利用M文件编辑器在M文件中输入:

x = 0 : 0.01 * pi : pi * 0.5;
y = cos(x) + sqrt(-1) * sin(x);
plot(y * 2, 'r', 'LineWidth', 5);hold on;
x = pi * 0.5 : 0.01 * pi : pi;
y = cos(x) + sqrt(-1) * sin(x);
plot(y * 2, 'y', 'LineWidth', 5);hold on;
x = -pi : 0.01 * pi : -pi * 0.5;
y = cos(x) + sqrt(-1) * sin(x);
plot(y * 2, 'b', 'LineWidth', 5);hold on;
x = -pi * 0.5 : 0.01 * pi : 0;
y = cos(x) + sqrt(-1) * sin(x);
plot(y * 2, 'g', 'LineWidth', 5);hold on;
title('极坐标系');
text([1.5 -3 1.5 -3], [2 2 -2 -2], {'第一象限', '第二象限', '第三象限', '第四象限'})
legend({'[0 0.5\pi]','[0.5\pi \pi]','[\pi 1.5\pi]','[1.5\pi 2\pi]'})
xlim([-5 5]);ylim([-5 5]);
plot([-4 4], [0 0], 'k', 'LineWidth', 3);hold on;
plot([0 0], [-4 4], 'k', 'LineWidth', 3);hold on;
axis off

运行M文件,结果如图5-14所示。

b8661bfa3d375ca6d26b4acc41b81b29_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

5-14  radioaxis.m运行结果


MATLAB中的字符串可以对输出的文字风格进行预先设置,可以预先规定的有字体、风格及大小。另外,可以进行上、下标的表示,还可以输出数学公式中经常用到的希腊字符和其他特殊字符。这些指令及特殊符号的输出方法如表5-3~表5-6所示。

5-3  字体式样设置规则

ad50d5e3dc1a891b1e757379e0553d17_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

5-4  上、下标的控制指令

5f63b64baf59afa3d7b8cbc2cdafd76b_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

5-5  希腊字符的输出方法

18a6fe8b5d33173c47b013d740087e10_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

5-6  其他特殊符号的输出方法

a5050d71c27a1f9ad8ed2de28cdf495e_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


5.2.4  线型、标记和颜色


当同一个图形中同时画了多条曲线时,需要使用不同的线型、标记和颜色来区分不同的曲线。


1.线型


MATLAB平台上共有5种不同线型,如表5-7所示。

5-7  曲线线型

线型代号

表示线型

-

实线

--

虚线

-.

点画线

:

点线

none

无线



2.标记


MATLAB平台上共有14种不同的标记方式,如表5-8所示。

5-8  图形标记

标记代号

表示标记

+

加号

o

小圆圈

*

幸好

.

实点

x

交叉号

d

菱形

^

向上三角形

向右三角形

向左三角形

s

正方形

h

正六角星

p

正五角星

v

向下三角形


3.颜色


MATLAB平台上有代号的颜色共有8种,如表5-9所示。

5-9  曲线或标记颜色

颜色代号

表示颜色

RGB

k(black)

黑色

000

b(blue)

蓝色

001

g(green)

绿色

010

r(red)

红色

100

c(cyan)

青色

011

m(magenta)

品红色

101

y(yellow)

黄色

110

w(white)

白色

111


5-13:线型、标识与颜色示例。

创建M文件并命名为multicurve.m(同时存为ex5_13.m),利用M文件编辑器在M文件中输入:

clear all
figure
x = 0 : 0.01 * pi : pi * 8;
plot(x, sin(x), 'r:', 'LineWidth', 3);hold on;
plot(x, 2 * sin(x / 2), 'y', 'LineWidth', 3);hold on;
plot(x, 4 * sin(x / 4), 'b--', 'LineWidth', 3);hold on;
x = 0 : pi : pi * 8;
plot(x, sin(x), 'g^', 'MarkerSize', 10, 'LineWidth', 3);hold on;
plot(x, 2 * sin(x / 2), 'co', 'MarkerSize', 10, 'LineWidth', 3);hold on;
plot(x, 4 * sin(x / 4), 'ms', 'MarkerSize', 10, 'LineWidth', 3);hold on;
xlim([0 pi * 8])

运行M文件,结果如图5-15所示。

5fdccaea1d0c2f477386c12fdaefcef5_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

5-15  multicurve.m运行结果


MATLAB平台上还有一种叫作颜色映像的数据结构来代表颜色值。颜色映像定义为一个有3列和若干行的矩阵。利用01之间的数值,矩阵的每一行都代表了一种色彩。任一行的数字都指定了一个RGB值,即红、绿、蓝3种颜色的强度,形成一种特定的颜色。一些有代表性的RGB值如表5-10所示。

5-10  一些有代表性的RGB

Red()

Green(绿)

Blue()

颜色

0

0

0

1

1

1

1

0

0

0

1

0

绿

0

0

1

1

1

0

1

0

1

洋红

0

1

1

青蓝

2/3

0

1

天蓝

1

1/2

0

橘黄

1/2

0

0

深红

1/2

1/2

1/2

灰色


10MATLAB函数产生预定的颜色映像,如表5-11所示。

5-11  颜色映像函数集

函数名称

函数说明

Hsv

色彩饱和值(以红色开始和结束)

Hot

从黑到红到黄到白

Cool

青蓝和洋红的色度

Pink

粉红的彩色度

Gray

线性灰度

Bone

带一点蓝色的灰度

Jet

hsv的一种变形(以蓝色开始和结束)

copper

线性铜色度

Prim

三棱镜。交替为红色、橘黄色、黄色、绿色和天蓝色

Flag

交替为红色、白色、蓝色和黑色


在默认情况下,上面所列的各个颜色映像产生一个64×3的矩阵,指定了64种颜色RGB的描述。这些函数都接收一个参量来指定所产生矩阵的行数。比如hot(m)产生一个m×3的矩阵,它包含的RGB颜色值的范围从黑经过红、橘红、黄……一直到白。

大多数计算机在一个8位的硬件查色表中一次可以显示256种颜色,当然有些计算机的显卡可以同时显示更多的颜色。这就意味着在不同的图中,一般一次可以用3个或464×3的颜色映像。如果使用了更多的颜色映像输入项,则计算机必须经常在它的硬件查色表中调出输入项。例如,在画MATLAB图形时背景图案发生了变化,就是发生了这种情况。所以,除非计算机有一次显示更多种颜色的显卡,否则最好任何一次所用的颜色映像输入项数都小于256


5.2.5  坐标轴设置


图形坐标轴的取值范围及其刻度对图形的显示效果有着很明显的影响。在默认情况下,MATLAB通过便捷智能的函数和内部自适应设置来显示图形。

有时候,默认设置生成的图形往往达不到用户所要求的效果,或者用户只对图形中的某一部分感兴趣,这时就需要通过坐标轴控制函数,有针对性地调整和设置坐标轴的某些参数。

MATLAB提供的坐标轴控制函数如表5-12所示。

5-12  MATLAB中的坐标轴控制函数

8f91b526afde5283826094f7a84b7af1_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


5-14:坐标轴设置示例。

创建M文件并命名为figureaxis.m(同时存为ex5_14.m),利用M文件编辑器在M文件中输入:

clear all
X = (0 : 1800) * pi / 180;Y = cos(X / 2);
figure(1)
subplot(1,3,1);plot(X, Y, 'LineWidth', 2);xlim([0 30]);grid on;
subplot(1,3,2);plot(X, Y, 'LineWidth', 2);xlim([0 30]);grid on;grid;
subplot(1,3,3);plot(X, Y, 'LineWidth', 2);xlim([0 30]);grid;grid off;

运行M文件,结果如图5-16所示。

ab1359e9e08e403261039756bbb9d195_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

5-16  figureaxis.m运行结果


相关文章
|
8月前
|
自然语言处理 数据可视化 算法
第5章 数据可视化——5.4 四维图形可视化
第5章 数据可视化——5.4 四维图形可视化
|
8月前
|
自然语言处理 数据可视化 算法
第5章 数据可视化——5.2 二维图形绘制(3)
第5章 数据可视化——5.2 二维图形绘制(3)
|
8月前
|
自然语言处理 数据可视化
第5章 数据可视化——5.2 二维图形绘制(4)
第5章 数据可视化——5.2 二维图形绘制(4)
|
8月前
|
数据可视化 关系型数据库
第5章 数据可视化——5.2 二维图形绘制(1)
第5章 数据可视化——5.2 二维图形绘制(1)
|
8月前
|
数据可视化
第5章 数据可视化——5.3 三维图形绘制
第5章 数据可视化——5.3 三维图形绘制
|
8月前
|
数据可视化
第5章 数据可视化——5.1 图形绘制
第5章 数据可视化——5.1 图形绘制
|
数据可视化 数据挖掘 物联网
二维数据可视化|学习笔记
快速学习二维数据可视化
209 0
二维数据可视化|学习笔记
|
SQL 数据可视化 算法
数据可视化—绘制简单的折线图
在使用matplotlib绘制简单的折线图之前首先需要安装matplotlib,直接在pycharm终端pip install matplotlib即可
208 0
数据可视化—绘制简单的折线图
|
存储 编解码 数据可视化
L7 2.9: 炫酷的瓦片数据可视化
L7 是由蚂蚁集团 AntV 数据可视化团队推出的基于 WebGL 的开源大规模地理空间数据可视分析开发引擎。L7 专注于空间数据的可视化表达。图形符号学为理论基础,将抽象复杂的空间数据转化成 2D、3D 符号,通过颜色、大小、体积、纹理等视觉变量实现丰富的可视化表达。欢迎关注和 star 我们的 GitHub:https://github.com/antvis/L7官网:https://l7.a
L7 2.9: 炫酷的瓦片数据可视化