【问题标题】:Shade a vertical strip Area in a MATLAB Plot在 MATLAB 绘图中为垂直条形区域着色
【发布时间】:2016-08-03 11:14:04
【问题描述】:

我需要在 MATLAB 图中对垂直线之间的垂直条区域进行着色。 我需要对黑色曲线、红色、蓝色和绿色线所覆盖的部分进行着色。

我试过Here的例子

如果需要剧情数据,请告诉我我会上传。

【问题讨论】:

标签: matlab plot


【解决方案1】:

我想这就是你要找的东西:

% some arbitrary data
x = -10:0.1:10;
y = abs(x).^0.5;
xleft = 0.5;
xright = 4;
fillStart = find(x>=0.5,1);
fillEnd = find(x>=4,1);
top = 2.5;
% plotting the lines
plot(x,y,'k',...
    x,ones(1,length(x))*top,'r',...
    ones(1,length(y)).*xleft,y,'g',...
    ones(1,length(y)).*xright,y,'b')
hold on
% filling the area
area(x(fillStart:fillEnd),y(fillStart:fillEnd),top, ...
    'EdgeColor', 'none', 'FaceColor', [0.5 0.5 0.5],'ShowBaseLine','off')
hold off

创建这个:

【讨论】:

    【解决方案2】:

    虽然不完全是您所追求的,(您需要各自行的方程式)这样的东西应该可以工作

    x = -5:0.1:5;
    y = sqrt(abs(x));
    figure
    hold on
    fill([2, 4, 4, 2], [0, 0, 2, 2], 'g')
    plot(x,y)
    

    来自fill 文档

    fill(X,Y,C) 填充由向量 X 和 Y 定义的二维多边形 具有 C 指定的颜色。多边形的顶点 由 X 和 Y 的成对分量指定。如有必要, 通过将最后一个顶点连接到第一个顶点来闭合多边形。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-28
      • 1970-01-01
      • 2021-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-13
      • 2018-04-04
      相关资源
      最近更新 更多