【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial—5.4 绘制数据图

时间:2024-09-20 20:33:53

5.4 绘制数据图

 参考视频: 5 - 4 - Plotting Data (10 min)

5.4.1 绘制曲线

  1、画一个sin曲线
 >> t = [:0.01:0.98];
>> y1 = sin( * pi * * t);
>> plot(t,y1);

【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial—5.4 绘制数据图

  2、画一个cos曲线

 >> y2 = cos( * pi *  * t);
>> plot(t,y2);

【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial—5.4 绘制数据图

3、将两个曲线合并在一起
 >> plot(t,y1);
>> hold on
>> plot(t,y2,'r');

【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial—5.4 绘制数据图

4、给图像添加信息
 > xlabel('time')    % X轴标签
>> ylabel('value')   % Y轴标签
>> legend('sin','cos')  % 添加曲线名称
>> title('my plot')  % 添加标题

【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial—5.4 绘制数据图

5、保存到文件
 >> print -dpng 'myPlot.png'
>> ls
Directory of D:\myc_learn\machine_learning\code\week2
[.] .m hello.dat myPlot.png
[..] featuresX.dat hello.txt priceY.dat
>> close
6、绘制多张图

   绘制多张图,需要指定将哪个曲线放在哪个图中。否则会一直绘制在当前窗口,覆盖之前的图形

 >> figure(); plot(t,y1);  % 在figure1中绘制
>> figure(); plot(t,y2); % 在figure2中绘制
7、将两个图显示在一张图片中
 >> subplot(,,);  % 将图片划分为两个格子,访问第一个格子
>> plot(t,y1)    % 画第一个图像
>> subplot(,,); % 访问第二个格子
>> plot(t,y2)    % 画第二个图像

【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial—5.4 绘制数据图

8、改变坐标轴范围
 >> axis([0.5  - ])

【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial—5.4 绘制数据图

  点击一下第一张图片,再运行一下上面那行代码,图变为:

【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial—5.4 绘制数据图

9、清空和关闭图片
 >> clf    % 清空
>> close   % 关闭

5.4.2 绘制可视化矩阵

1、生成矩阵图

  根据矩阵的值生成图像,不同的颜色对应矩阵中不同的值

 >> A = magic()
A = >> imagesc(A)

【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial—5.4 绘制数据图

2、显示颜色条
 >> colorbar

【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial—5.4 绘制数据图

  或者直接使用下面的一行代码:

 >> imagesc(magic(5)), colorbar;
3、生成灰度图
 >> imagesc(A), colorbar, colormap gray;

【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial—5.4 绘制数据图

  生成一个15行15列灰度图

 >> imagesc(magic()),colorbar,colormap gray;

【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial—5.4 绘制数据图

  以 imagesc(magic(15)),colorbar,colormap gray; 为例。

  这种几个逗号隔开的命令一起运行的方式,叫做逗号连接函数调用 comma chaining of function calls 或 comma chaining commands 。

  比如赋值操作可以写成:a=1, b=2, c=3;

5.4.3 散点图

   plot(x,y,'rx', 'MarkerSize', );
xlabel('Population of City in 10,000s');
ylabel('Profit in $10,000s');
title('POPULATION AND PROFIT');

【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial—5.4 绘制数据图

  图像绘制在Octave官方文档的 15.2.1 Two-Dimensional Plots ,图形属性设置在15.3.3.4 Line Properties。

如果想设置某个属性,直接写属性名,后面跟一个值。plot (x, y, property, value, …)

  例如  plot (x, y, 'linewidth', 2, …);

【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial—5.4 绘制数据图