如何从Matlab中的现有数据集创建颜色图?

时间:2019-05-04 21:04:17

标签: matlab colormap contourf

我目前在Matlab中从现有数据集中获得了二维轮廓图。我制作了一个[x,y]网格,并使用此网格和z数据使用轮廓f(x,y,z)生成了二维轮廓图。我的目标是将相同的数据作为具有柔和的颜色渐变的色图而不是作为具有不同色带的二维轮廓图来重现。

我尝试将imagesc(x,y,z)与[x,y]用作网格并没有使用。我最后遇到了一个错误函数“试图将SCRIPT imagesc作为函数执行”:

x = 0.1:0.1:1
y = 0.1:0.1:1
[X, Y] = meshgrid( x , y )
Z = #data#
contourf( X , Y , Z )
title
xlabel
ylabel

1 个答案:

答案 0 :(得分:0)

我不太确定您尝试使用imagesc是怎么回事...当我使用您的xy并定义Z=sin(X*20)+sin(Y*20);并运行{ {1}}我得到了

enter image description here

查看得到的错误消息,我怀疑您有一个脚本另存为imagesc(x,y,Z),从而以某种方式覆盖了imagesc函数。尝试运行imagesc,看看会发生什么,这是一个函数吗?

现在,要使外观平滑,您有两个选择。首先,您可以使用更高的点密度,而不是10x10的网格。例如

edit imagesc

给予 enter image description here

或者,如果您希望/需要坚持低密度的点,则可以使用x = linspace(0,1,1000); y = linspace(0,1,1000); [X, Y] = meshgrid( x , y ); Z=sin(X*20)+sin(Y*20); imagesc(x,y,Z) ,然后设置pcolor(X,Y,Z)来得到

enter image description here