2

我正在尝试制作这样的情节:

在此处输入图像描述

我想要一个 2D 直方图,其条形颜色与高度和半透明条形成比例。我试图把这里提供的例子放在一起

x = randn(100, 2);

figure
hist3(x, [20 20]);


colormap(hot) % heat map
grid on
view(3);
%bar color
set(get(gca,'child'),'FaceColor','interp','CDataMode','auto');
%semitransparency
set(gcf,'renderer','opengl');

结果示例如下:

在此处输入图像描述

不存在半透明。

我不知道这是否是我的 Matlab 版本(R2014a)的问题,或者是否——更有可能——我搞砸了。也许轴手柄?

Next 在这个问题之外:我还想添加一个插入直方图值的透明表面(我也遇到了一些问题)。我想我最近在 SO 上看到过类似的东西,但我再也找不到了。有没有人有一些命中?

4

1 回答 1

2

在您的示例中,您实际上并没有更改表面透明度。您所做的只是更改渲染器。这是您需要的额外行:

set(get(gca,'child'),'FaceAlpha',0.8);

的值1将是不透明的、0不可见的。

您可能还想更改边缘线的透明度:

set(get(gca,'child'),'EdgeAlpha',0.2);
于 2016-05-03T15:16:21.663 回答