控制散点图标记透明度

问题描述 投票:0回答:1

我需要控制用MATLAB中的scatterhist命令生成的图中标记的透明度。

fig1

以下文章有助于处理直方图的颜色:Controlling scatterhist bar colors

  1. 如何更改标记的透明度?
  2. 如何在标记上方添加等高线图?
matlab transparency scatter-plot contour histogram2d
1个回答
2
投票

tl; dr:在MATLAB R2019a中,scatterhist可以绘制轮廓,但是很难但很可能scatterhist添加标记透明度,并且possible可以轻松实现透明度,但轮廓很难。


scatterhistogram

正在使用scatterhistogram

您可以使用% MATLAB R2019a n = 250; % Number of Points X = exprnd(3,n,1); Y = gamrnd(9,1/3,n,1); 属性调整标记的透明度。

scatterhistogram

scatterhistogram

该文档演示了此技术的变体。

注意:MarkerAlpha不能在Plot using scatterhistogram with marker transparency but no contours.之前或之后使用,这会阻止使用T = table(X,Y); figure s = scatterhistogram(T,'X','Y',... 'HistogramDisplayStyle','smooth',... 'LineStyle','-') s.MarkerAlpha = 0.5; % adjust transparency

scatterhistogram

正在使用scatterhistogram

如果您命名为hold on,则this solution是散点图,% This will give an error in R2019a figure s = scatterhistogram(T,'X','Y','HistogramDisplayStyle','smooth','LineStyle','-') hold on [m,c] = hist3([X', Y']); % [m,c] = hist3([X(:), Y(:)]); contour(c{1},c{2},m) scatterhist是直方图。这使您可以更改属性。请注意,scatterhist可以正常工作,但是没有s = scatterhist(X,Y)s(1)属性(您会得到一个错误提示)。

但是,轮廓是可能的。我认为透明度可以基于@ s(2)s(3),但是我还没有弄清楚。

s(1).Children.MarkerFaceColor = 'b'

MarkerAlpha

从头开始构建:显然,整个事情都可以从头开始手动构建(但这并不吸引人)。

类似的东西很接近...注意,它既具有透明度又具有轮廓。

MarkerFaceAlpha

参考:1. MATLAB中的this comment2. Dev-iL

© www.soinside.com 2019 - 2024. All rights reserved.