我正在尝试使用imagesc
函数,因为我需要绘制3D数据的2D彩色图,其中颜色表示2个输入的每种组合以及x和y轴的信号输出强度应该代表输入参数。我看了一个类似的问题:
How to change image axis labels
问题是我事先不知道输入参数将具有的值的范围,它们也不一定是“ nice”,“ round”数字,它们可以以10或其他一些整数隔开。更糟糕的是,根据我进行的测试,我的数据可能具有颠倒的输入顺序。例如,如果我手动将x轴设置为从低到高的值(作为标准),那么如果我的参数值是从高到低输入的,那么它实际上可能会比我的数据实际落后。>
example of my output image using imagesc function
我提供了到目前为止的图像示例。 y轴保留为默认值,这仅表明我的输出信号矩阵中有180多行。我使用linspace
更改了x轴,以使其对应于输入参数的范围,从最低到最高。但是,图像应该水平翻转,因为我知道右边的黄点应该对应于x轴上的低值-也就是说,它应该在左侧。
因此,我需要使它自动发生,以使我的输出信号的强度正确匹配2个输入参数的组合(在x和y轴上显示),并且每种组合的输出均表示为色标上的颜色。
使用imagesc
不能做到这一点吗?我是否必须使用pcolor
函数?还是有其他方法?
答案 0 :(得分:0)
使用pcolor
函数,我得到了想要的东西。它直接将(矩阵)变量之间的直观关系转换为具有正确轴比例的图形图像。我有3个变量;我们称它们为f
,H
和Z
。关键是要制作一个颜色图,其中的值来自Z
,该值对应于每个唯一的f
,H
值对,类似于x,y坐标。因此,我将f
和H
做成矩阵(具有相同的尺寸),其中f
的所有列都是一个列向量的副本,而H
的所有行是一个行向量的副本。 (Z
已经是一个具有相同尺寸的矩阵。)这样,如果我从f
和H
矩阵中都选择一个i,j元素,则会得到一个唯一的{{1} },f
对,可以将其映射到H
中的i,j元素。然后只需使用:
Z
我得到了这样的图像(带有一些其他命令): f,H color plot example
轴编号标签会自动调整,以匹配pcolor(f,H,Z)
和f
的值。