画散点图 -- 北太天元学习9
在北太天元学习4,我们学习了一元函数图像的绘制。当时我们使用的是内置函数plot。
今天我们学习,同时绘制多个函数图像,而且在绘制函数图像的上面用散点来标记。
我们把绘制图像的命令写在一个m脚本里, 一般情况下,在m脚本的开头部分写下面几个命令:
clc
clear all
clf
close all
其中 clc 是清楚命令行窗口的输出内容, clear all 是清空工作区的变量,clf 是清空当前
图像的数据和图像, close all 是关闭所有的图像.
用了上面四个命令,我们就有了一个崭新的工作环境。
画当前图的时,要不要把前一个绘图命令所绘制的图像的内容清除? 默认设置状态下,
是会清除掉。如果不希望清除前面绘制的图像,可以使用 hold on 来改变这种默认设置。
例如: 我们同时绘制 y=x^2 和 y=x^3 的图像, 北太天元的代码如下
x = -2:0.1:2;
y2 = x.^2;
y3 = x.^3;
hold on
plot(x,y2);
plot(x,y3);
hold off
如果上面这个代码里面hold on,那么你只看到了y=x^3的图像。
这个代码的最后还是用了 hold off 切换回默认设置状态。
在画了函数的曲线之后,如果我们还想在曲线上面标记一些特殊的点,那么我们可以使用
scatter画图指令。scatter 的基本使用方法是 scatter(点的x坐标,点的y坐标),
例如
x = 1:5;
y = x.^2;
scatter(x,y);

你会看到图中画出的点非常小,小到你甚至怀疑这些点真的被画出来了吗?
我们可以修改上面的代码把点画大一些
x = 1:5;
y = x.^2;
sh1 = scatter(x,y);
set(sh1, 'SizeData', 500);
这时候你确实看到了空心的小圆圈,线很细,虽然能看见,但是还是看不清楚。

我们再修改一下
x = 1:5;
y = x.^2;
sh1 = scatter(x,y,'filled');
set(sh1, 'SizeData', 500);
我们为scatter增加了第三个参数'filled', 现在终于可以看到实心的小圆了。

下面给出同时画出 sin(x), cos(x) 的函数曲线,并且在曲线上绘制了特殊点,
然后使用 legend 给出图列。
clc,clear all, clf, close all
% 自变量x的范围
x = 0: 0.01 : 2*pi;
% 正弦、余弦函数
y_sin = sin(x);
y_cos = cos(x);
% 正弦函数、余弦函数在某些特殊点处的取值
x_point = 0:pi/2:2*pi;
正弦_point = sin(x_point);
余弦_point = cos(x_point);
%% 画图部分
hold on
plot(x, y_sin, "LineWidth", 2.0);
plot(x, y_cos, "LineWidth", 4.0)
sh1 = scatter(x_point, 正弦_point,"filled");
sh2 = scatter(x_point, 余弦_point, "filled");
set(sh1, 'SizeData', 500); %画的散点的大小
set(sh2, 'SizeData', 500);
legend({"y = sin(x)","y = cos(x)", "sin点", "cos点"},'FontSize',18)
xlabel("x","FontSize",18);
ylabel("y","FontSize",18);
title("正弦函数和余弦函数","FontSize",22)
hold off