向二维直方图添加半透明
add semi-transparency to 2d histogram
我正在尝试制作这样的情节:
我想要一个二维直方图,其条形颜色与高度成正比,并且条形是半透明的。
我尝试将提供的示例放在一起 here
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) 的问题,还是——更有可能——我搞砸了。也许轴手柄?
下一个
在这个问题之外:我还想添加一个透明表面来插入直方图值(我也遇到了一些问题)。我想我最近在 SO 上看到了类似的东西,但我再也找不到了。有人有点击率吗?
您实际上并未更改示例中的表面透明度。您所做的只是更改渲染器。这是您需要的额外行:
set(get(gca,'child'),'FaceAlpha',0.8);
1
的值是不透明的,0
是不可见的。
您可能还想更改边线透明度:
set(get(gca,'child'),'EdgeAlpha',0.2);
我正在尝试制作这样的情节:
我想要一个二维直方图,其条形颜色与高度成正比,并且条形是半透明的。 我尝试将提供的示例放在一起 here
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) 的问题,还是——更有可能——我搞砸了。也许轴手柄?
下一个 在这个问题之外:我还想添加一个透明表面来插入直方图值(我也遇到了一些问题)。我想我最近在 SO 上看到了类似的东西,但我再也找不到了。有人有点击率吗?
您实际上并未更改示例中的表面透明度。您所做的只是更改渲染器。这是您需要的额外行:
set(get(gca,'child'),'FaceAlpha',0.8);
1
的值是不透明的,0
是不可见的。
您可能还想更改边线透明度:
set(get(gca,'child'),'EdgeAlpha',0.2);