如何在2D中以彩色八度绘制3D图形?

时间:2013-10-19 19:12:41

标签: plot octave

我有一个函数z = f(x,y)并且想要使用八度音来绘制它,但是不希望绘图在3d中,如在

octave:1> x=(1:300);
octave:2> y=(1:300);
octave:3> [xx,yy]=meshgrid(x,y);
octave:4> A=sin(xx/100).*yy;
octave:5> mesh(x,y,A)

而是在2d中使用颜色作为z的值,就像你使用gnuplot指令得到的那样

gnuplot> plot 'a.txt' matrix w image

如果我将矩阵A保存在文件a.txt中。我找到的最接近的是命令contourf,但正如你所看到的,如你所见,

octave:7> contourf(xx,yy,A)

结果远非最优...任何建议?

由于

1 个答案:

答案 0 :(得分:1)

imagesc将使用颜色绘制“z”值的矩阵:

> imagesc(x, y, A)

contourf相比,这将被垂直反转,但这很容易修复:

> imagesc(x, flipud(y), flipud(A))

在您的示例中,您甚至不需要提供变量x和y:

> imagesc(A)
> imagesc(flipud(A))
相关问题