📜  Octave – 绘制数据的基础

📅  最后修改于: 2022-05-13 01:54:49.283000             🧑  作者: Mango

Octave – 绘制数据的基础

Octave 有一些用于可视化数据的内置函数。很少有简单的图表可以让我们更好地理解我们的数据。每当我们在 Octave 环境中执行学习算法时,我们都可以更好地了解该算法并对其进行分析。 Octave 有很多简单的工具,我们可以使用它们来更好地理解我们的算法。
在本教程中,我们将学习如何在 Octave 环境中绘制数据以获得更好的可视化和理解它。
示例 1:使用 plot() 和 sin()函数绘制正弦波:

MATLAB
% var_x for the y-axis
var_x = [0:0.01:1];
 
% var_y for the y-axis
var_y = sin(4 * pi * var);
 
% plotting the graph
plot(var_x, var_y);


MATLAB
% var_x for the y-axis
var_x = [0:0.01:1];
 
% var_y for the y-axis
var_y = cos(3 * pi * var);
 
% plotting the graph
plot(var_x, var_y);


MATLAB
% declaring variable var_x
var_x = [0:0.01:1];
 
% declaring variable var_y1
var_y1 = sin(4 * pi * var);
 
% declaring variable var_y2
var_y2 = cos(3 * pi * var);
 
% plot var_x with var_y1
plot(var_x, var_y1);
 
% hold the above plot or figure
hold on;
 
% plot var with var_y2 with red color
plot(var_x, var_y2, 'r');


MATLAB
% declaring variable var_x
var_x = [0:0.01:1];
 
% declaring variable var_y1
var_y1 = sin(4 * pi * var);
 
 
% declaring variable var_y2
var_y2 = cos(3 * pi * var);
 
% plot var_x with var_y1
plot(var_x, var_y1);
 
% hold the above plot or figure
hold on;
 
% plot var with var_y2 with red color
plot(var_x, var_y2, 'r');
 
% adding label to the x-axis
xlabel('time');
 
% adding label to the y-axis
ylabel('value');
 
% adding title for the plot
title('my first plot');
 
% add legends for these 2 curves
legend('sin', 'cos');


MATLAB
% declaring variable var_x
var_x = [0:0.01:1];
  
% declaring variable var_y1
var_y1 = sin(4 * pi * var);
  
% declaring variable var_y2
var_y2 = cos(3 * pi * var);
 
% plot var_x and var_y1 on figure 1
figure(1);
plot(var_x,var_y);
 
% plot var_x and var_y2 on figure 2
figure(2);
plot(var_x,var_y2);


MATLAB
% var_x for the y-axis
var_x = [0:0.01:1];
  
% var_y for the y-axis
var_y = sin(4 * pi * var);
 
% plot the var_x and var_y on a 3x3 grid
% at 4 position counting from top to left
subplot(3, 3, 4), plot(var_x, var_y);


MATLAB
% declaring variable var_x
var_x = [0:0.01:1];
  
% declaring variable var_y1
var_y1 = sin(4 * pi * var);
  
% declaring variable var_y2
var_y2 = cos(3 * pi * var);
  
% plot var_x with var_y1
plot(var_x, var_y1);
  
% hold the above plot or figure
hold on;
  
% plot var with var_y2 with red color
plot(var_x, var_y2, 'r');
 
% adding label to the x-axis
xlabel('time');
 
% adding label to the y-axis
ylabel('value');
  
% adding title for the plot
title('my first plot');
  
% add legends for these 2 curves
legend('sin', 'cos');
 
% first 2 parameter sets the x-axis
% and next 2 will set the y-axis
axis([0.5 1 -1 1])


MATLAB
print -dpng 'plot.png'


MATLAB
cd '/home/dikshant/Documents'; print -dpng 'plot.png'


MATLAB
% creating a 10x10 magic matrix
matrix = magic(10)
 
% plot the matrix
imagesc(matrix)


MATLAB
% creating a 10x10 magic matrix
matrix = magic(10)
 
% plot this matrix with showing colorbar on the right of it
imagesc(matrix), colorbar;


MATLAB
% creating a 10x10 magic matrix
matrix = magic(10)
 
% plot this matrix with colorbar and gray colormap
imagesc(matrix), colorbar, colormap gray;


输出 :

示例 2:使用 plot() 和 cos()函数绘制余弦波:

MATLAB

% var_x for the y-axis
var_x = [0:0.01:1];
 
% var_y for the y-axis
var_y = cos(3 * pi * var);
 
% plotting the graph
plot(var_x, var_y);

输出 :

示例 3:我们可以通过使用 hold on 命令保持前一个绘图来绘制一个绘图覆盖另一个绘图。

MATLAB

% declaring variable var_x
var_x = [0:0.01:1];
 
% declaring variable var_y1
var_y1 = sin(4 * pi * var);
 
% declaring variable var_y2
var_y2 = cos(3 * pi * var);
 
% plot var_x with var_y1
plot(var_x, var_y1);
 
% hold the above plot or figure
hold on;
 
% plot var with var_y2 with red color
plot(var_x, var_y2, 'r');

输出 :

示例 4:我们可以使用以下代码为 x 轴和 y 轴添加标签以及图例和标题。

MATLAB

% declaring variable var_x
var_x = [0:0.01:1];
 
% declaring variable var_y1
var_y1 = sin(4 * pi * var);
 
 
% declaring variable var_y2
var_y2 = cos(3 * pi * var);
 
% plot var_x with var_y1
plot(var_x, var_y1);
 
% hold the above plot or figure
hold on;
 
% plot var with var_y2 with red color
plot(var_x, var_y2, 'r');
 
% adding label to the x-axis
xlabel('time');
 
% adding label to the y-axis
ylabel('value');
 
% adding title for the plot
title('my first plot');
 
% add legends for these 2 curves
legend('sin', 'cos');

输出 :

示例 5:我们还可以在不同的图形上绘制数据。

MATLAB

% declaring variable var_x
var_x = [0:0.01:1];
  
% declaring variable var_y1
var_y1 = sin(4 * pi * var);
  
% declaring variable var_y2
var_y2 = cos(3 * pi * var);
 
% plot var_x and var_y1 on figure 1
figure(1);
plot(var_x,var_y);
 
% plot var_x and var_y2 on figure 2
figure(2);
plot(var_x,var_y2);

输出 :

示例 6:我们可以使用 subplot()函数将图形划分为 amxn 网格。在下面的代码中,前 2 个参数显示 m 和 n,第三个参数是从上到左的网格数。

MATLAB

% var_x for the y-axis
var_x = [0:0.01:1];
  
% var_y for the y-axis
var_y = sin(4 * pi * var);
 
% plot the var_x and var_y on a 3x3 grid
% at 4 position counting from top to left
subplot(3, 3, 4), plot(var_x, var_y);

输出 :

示例 7:我们可以使用 axis()函数更改任何绘图的轴值。

MATLAB

% declaring variable var_x
var_x = [0:0.01:1];
  
% declaring variable var_y1
var_y1 = sin(4 * pi * var);
  
% declaring variable var_y2
var_y2 = cos(3 * pi * var);
  
% plot var_x with var_y1
plot(var_x, var_y1);
  
% hold the above plot or figure
hold on;
  
% plot var with var_y2 with red color
plot(var_x, var_y2, 'r');
 
% adding label to the x-axis
xlabel('time');
 
% adding label to the y-axis
ylabel('value');
  
% adding title for the plot
title('my first plot');
  
% add legends for these 2 curves
legend('sin', 'cos');
 
% first 2 parameter sets the x-axis
% and next 2 will set the y-axis
axis([0.5 1 -1 1])

这里前 2 个参数显示 x 轴的范围,接下来的 2 个参数显示 y 轴的范围。
输出 :

示例 8:我们可以将绘图保存在当前工作目录中:

MATLAB

print -dpng 'plot.png'

为了在我们想要的位置打印这个图,我们可以使用 cd 如下所示:

MATLAB

cd '/home/dikshant/Documents'; print -dpng 'plot.png'

我们可以使用 close 命令关闭图形/绘图。
示例 9:我们可以使用 imagesc()函数可视化矩阵。

MATLAB

% creating a 10x10 magic matrix
matrix = magic(10)
 
% plot the matrix
imagesc(matrix)

输出 :

matrix =

    92    99     1     8    15    67    74    51    58    40
    98    80     7    14    16    73    55    57    64    41
     4    81    88    20    22    54    56    63    70    47
    85    87    19    21     3    60    62    69    71    28
    86    93    25     2     9    61    68    75    52    34
    17    24    76    83    90    42    49    26    33    65
    23     5    82    89    91    48    30    32    39    66
    79     6    13    95    97    29    31    38    45    72
    10    12    94    96    78    35    37    44    46    53
    11    18   100    77    84    36    43    50    27    59

上图是 10×10 的网格,每个网格代表一个带有颜色的值。相同的颜色值会产生相同的颜色。
我们还可以使用该图制作一个颜色条,以使用 colorbar 命令查看哪个值对应于哪种颜色。在 Octave 环境中,我们可以通过用逗号 ( , ) 分隔它们来一次使用多个命令。

MATLAB

% creating a 10x10 magic matrix
matrix = magic(10)
 
% plot this matrix with showing colorbar on the right of it
imagesc(matrix), colorbar;

输出 :

使用灰度颜色图绘制幻方:

MATLAB

% creating a 10x10 magic matrix
matrix = magic(10)
 
% plot this matrix with colorbar and gray colormap
imagesc(matrix), colorbar, colormap gray;

输出 :