1

plot3当我使用以下格式在 Matlab 中绘制多条线时:

    plot3([x1 x2], [y1 y2], [z1 z2], 'LineWidth', 2, 'LineStyle','--');

然后使用patch这样的方法绘制一个补丁:

    p = patch(x, y, z, 'k');
    set(p, 'EdgeColor', 'g', 'FaceColor', 'none', 'LineWidth', 3, 'EdgeAlpha', 0.7)

已经绘制的线条的“LineWidth”和“LineStyle”略有变化,如下图所示(第一张图显示绘制补丁前的线条,第二张图显示绘制补丁后的变化,绿线)。你能告诉我有什么问题吗?

在此处输入图像描述 在此处输入图像描述

4

1 回答 1

0

因为您的set命令重置了坐标区的全局属性。您应该将属性应用于每条线,而不是轴;

ahs = findall(gca,'type','line')
set(ahs(1), 'LineWidth', 2, 'LineStyle','--');
set(ahs(2), 'EdgeColor', 'g', 'FaceColor', 'none', 'LineWidth', 3, 'EdgeAlpha', 0.7);
于 2013-04-24T21:06:29.560 回答