Matlab 应用notboxplot函数生成BeeSarm boxplot时,如何更改标记透明度?

Matlab 应用notboxplot函数生成BeeSarm boxplot时,如何更改标记透明度?,matlab,plot,boxplot,Matlab,Plot,Boxplot,我使用Rob Campbell()中的notboxplot生成蜂群箱线图。我想知道我是否可以改变绘图中标记(点)的透明度?以下是更改标记的大小/面颜色/边颜色的代码。但是我不能用markerfacealpha来改变这里的透明度 P = notBoxPlot(random(10,10)); set([P.data],'MarkerSize',4,... 'markerFaceColor',[0.4,0.4,0.5],... 'markerEdgeColor', 'none'

我使用Rob Campbell()中的notboxplot生成蜂群箱线图。我想知道我是否可以改变绘图中标记(点)的透明度?以下是更改标记的大小/面颜色/边颜色的代码。但是我不能用markerfacealpha来改变这里的透明度

P = notBoxPlot(random(10,10));
set([P.data],'MarkerSize',4,...    
    'markerFaceColor',[0.4,0.4,0.5],...
    'markerEdgeColor', 'none')

使用此功能是否可以更改透明度?

似乎不可能<代码>[P.data]是一个线对象数组。以及:

线系列对象不支持透明度(alpha)值

如上所述


因此,您需要按照@obchardon的建议修改源代码。

正如@nhowe在评论中指出的,您不能将
markerfacealpha
与函数图一起使用

在“在X中生成散点”部分中,您可以将
绘图
替换为
散点

% Generate scatter in X
thisX=violaPoints(thisX,thisY);
C=cols(k,:);
h(k).data=scatter(thisX, thisY, 'o',...
                  'markerfacecolor', C+(1-C)*0.65,'markerfacealpha',0.5);
而不是:

 % Generate scatter in X
 thisX=violaPoints(thisX,thisY);
 C=cols(k,:);

 h(k).data=plot(thisX, thisY, 'o', 'color', C,...
                'markerfacecolor', C+(1-C)*0.65);

注意到我将
markerfacealpha
值固定为0.5,这并不是很干净。但你知道原则

看起来您必须编辑notboxplot代码才能使用散布而不是绘图。您好,亚瑟,我想设置标记的透明度,而不是beeswarm BoxPlot中的线条,而不是简单地将OP踢到一个链接,如果您希望您的答案总结您认为这不可能的原因,可能对未来的访问者更好,然后提供链接以了解更多细节。请参见提供链接的上下文。