matlab - 如何在matlab上制作透明的饼图?

标签 matlab charts transparency matlab-figure

我目前在为饼图添加透明度时遇到问题。 我无法使用 FaceAlphaEdgeAlpha 进行设置,并且在编译 eps 文件时单独使用 alpha 会撕裂图表的边缘。

有什么建议吗?

figure;
subplot(1,2,1)
h=pie3(P1,[0 0 0 1 1])
set(h,'EdgeColor','none','LineStyle','none')
hold on
colormap cool
hold on

subplot(1,2,2)
h=pie3([PF PG],[1 0 ],{'X1','X2'})
set(h,'EdgeColor','none')
colormap cool
%alpha(0.5)

print teste -depsc2 

最佳答案

pie3 的输出是一个句柄数组。有些是表面的句柄,有些是补丁,有些是文本。您需要选择这些句柄的 子集 实际上具有 EdgeAlphaFaceAlpha 属性。您可以使用 findobj 执行此操作。

h = pie3(rand(1,5), [0 0 0 1 1]);

set(findobj(h, '-property', 'FaceAlpha'), 'FaceAlpha', 0.2);
set(findobj(h, '-property', 'EdgeAlpha'), 'EdgeAlpha', 0);

enter image description here

但是当导出到 EPS 时,不支持透明度。此外,由于您的图形具有透明度,因此 MATLAB 将使用 OpenGL 渲染器,这会导致 EPS 文件无法按照您的预期进行渲染。您可以尝试使用 export_fig以获得更好的结果。

关于matlab - 如何在matlab上制作透明的饼图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38573063/

相关文章:

matlab - 没有for循环的矩阵赋值元素

python - scipy.signal welch 与 matlab pwelch 等价

javascript - Google 图表平移缩放按钮

javascript - 更改谷歌图表的属性

php - 如何在 php 中划分系列以创建用于 google 图表的 json 表

php - 如何选择一种颜色使图像透明?

css - 带有图像(作为链接)的透明框(div)——可按比例调整大小?

matlab - 使用tcpip matlab float 数据传输和接收?

matlab - 非对称高斯滤波器 - 水平和垂直滤波器的不同尺寸和 STD

css - 如何找到 png 图像中像素的 alpha channel 透明度值?