You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MATLAB中为自定义绘制的椭圆区域填充颜色?

如何为旋转椭圆填充内部颜色?

你遇到的问题是area函数不适合填充闭合椭圆——它默认填充曲线与坐标轴之间的区域,而非闭合图形内部。正确的做法是使用fill函数,它专门用于填充闭合曲线的内部区域。

修改后的代码示例

angles = atan2(y2 - y1, x2 - x1);
t = linspace(0, 2 * pi, 300); % Absolute angle parameter
X = a_ellipse * cos(t);
Y = b_ellipse * sin(t);
x_ellipse = (x1 + x2) / 2 + X * cos(angles) - Y * sin(angles);
y_ellipse = (y1 + y2) / 2 + X * sin(angles) + Y * cos(angles);

% 填充椭圆内部,同时设置边框样式
fill(x_ellipse, y_ellipse, 'lightblue', 'EdgeColor', 'r', 'LineWidth', 2);
axis equal

关键说明

  • fill(x, y, color)会自动识别闭合曲线的轮廓,填充其内部区域,完全匹配你的需求。
  • 通过EdgeColor和LineWidth参数,可以直接设置椭圆的边框颜色和宽度,替代原有的plot语句,一步完成填充和边框绘制。
  • 如果需要分开绘制边框和填充,也可以先执行原有的plot语句,再添加fill(x_ellipse, y_ellipse, 'lightblue', 'FaceAlpha', 0.5)(FaceAlpha可设置填充透明度)。

内容的提问来源于stack exchange,提问作者Maite Martinez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 03:15:58