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

如何让Matlab图例显示不透明标记,散点图标记设为半透明

单独调整Matlab图例标记的MarkerFaceAlpha属性

你可以在生成图例后,通过获取图例的子对象来单独修改标记的透明度,让图例显示不透明的标记,具体操作如下:

  • 调用legend后,用findobj定位图例中的标记元素(散点图的图例标记对应Line类型对象)
  • 遍历这些元素,将它们的MarkerFaceAlpha设为1(完全不透明)

修改后的完整代码:

figure()
scatter(X1,Y1,16, [0.9290, 0.6940, 0.1250],"filled",MarkerFaceAlpha=0.1,DisplayName='A')
hold on
scatter(X2, Y2,16, [0 0.4470 0.7410],"filled",MarkerFaceAlpha=0.1,DisplayName='B')
hold off
lgd = legend(Location="southwest",Box="off");
% 获取图例中的标记对象并修改透明度
legendMarkers = findobj(lgd, 'Type', 'Line');
set(legendMarkers, 'MarkerFaceAlpha', 1);

说明

散点图的MarkerFaceAlpha属性会被同步到自动生成的图例标记上,通过直接操作图例的子元素,可以快速覆盖这一继承的属性,让图例标记恢复清晰的不透明状态,同时保留绘图区域内散点的半透明效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 00:55:57