Matlab线图:是否可以单独设置标记线宽?


哎?小查查
2025-03-22 06:41:59 (26天前)


有没有办法在Matlab图中单独设置标记线宽?

如果我们使用’LineWidth’,它将改变标记边缘和线条本身的宽度。我们可以绘制标记和线…

2 条回复
  1. 0# 荀彧. | 2019-08-31 10-32



    这似乎是可能的,但它没有记录。




    Line

    对象具有隐藏属性

    MarkerHandle

    参考了

    Marker

    表示绘制标记的对象;这个对象有它自己的

    LineWidth

    属性。一旦标记被绘制,

    Marker

    对象

    LineWidth

    属性独立于标记线宽度

    LineWidth

    主要财产

    Line

    宾语。这允许你这样做:




    1. hLine = plot(myData, Marker’,myMarkerType, LineWidth’,myMainLineWidth);
      drawnow;
      hLine.MarkerHandle.LineWidth = myMarkerLineWidth;

    2. </code>


    不过这个属性



    似乎影响了线条在图例中的条目。这也可以通过无证件属性访问。




    1. hLegend = legend;
      drawnow;
      lineEntry = findobj(hLegend.EntryContainer, Object’,hLine);
      entryMarker = findobj(lineEntry.Icon.Transform, Description’,’Icon Marker’);
      entryMarker.LineWidth = myMarkerLineWidth;

    2. </code>


    这在MATLAB R2018b中适用于我,但由于没有记录,因此无法保证结果的行为与您期望的完全相同。特别是,您可能需要注意您使用记录的功能对您的绘图进行的其他更新自动覆盖您的手动更改,这些更新会导致重绘标记。


登录 后才能参与评论