the*_*guy 5 matlab matlab-figure
如何在Matlab中创建颜色渐变,以便绘制y = y(x)的2D线图,并使用另一个依赖于x的变量对其进行着色,使得z = z(x).我也可以使用散点图或点图.
我还希望有一个色彩图传奇类似于显示颜色渐变的东西,它是z的实际表示.这种东西在VisIt和ParaView等可视化工具中非常普遍,但我还没有在Matlab中弄清楚它.
如果散点图很好,您可以使用第四个输入scatter
:
x = -10:0.01:10;
y = sinc(x);
z = sin(x);
scatter(x,y,[],z,'fill')
Run Code Online (Sandbox Code Playgroud)
z
颜色在哪里。
要连续操纵线条的颜色,您需要使用surface
.
虽然乍一看,此函数看起来对于绘制 3D 曲面最有用,但它比基本plot
函数为线条着色提供了更大的灵活性。我们可以使用网格的边缘来绘制线条,并利用顶点颜色C
来沿边缘渲染插值颜色。
您可以查看渲染属性的完整列表,但您最可能需要的是
x = 0:.05:2*pi;
y = sin(x);
z = zeros(size(x)); % We don't need a z-coordinate since we are plotting a 2d function
C = cos(x); % This is the color, vary with x in this case.
surface([x;x],[y;y],[z;z],[C;C],...
'FaceColor','none',...
'EdgeColor','interp');
Run Code Online (Sandbox Code Playgroud)