Background transparency is not supported for surf plots
21 ビュー (過去 30 日間)
古いコメントを表示
Whereas the
close all
[X,Y] = meshgrid(1:0.5:10,1:20);
x=[0 10];y=2*x;
hf1=figure;plot(x,y);set(gca, 'color', 'none')
exportgraphics(hf1,'test2d.pdf','BackgroundColor','none')
Z = sin(X) + cos(Y);hf2=figure;surf(X,Y,Z);
set(gca, 'color', 'none');
exportgraphics(hf2,'test3d.pdf','BackgroundColor','none');
hf3=figure;[X,Y] = meshgrid(-8:.5:8);R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;C = X.*Y;mesh(X,Y,Z,C)
set(gca, 'color', 'none');
exportgraphics(hf3,'test3d.pdf','BackgroundColor','none');
I do get indeed transparent figures, but wih the folloing arning
Warning: Background transparency is not supported; using white instead
However, once I insert the pdf in my latex file, the background is white.
WIll appreciate any help.
採用された回答
Jaswanth
2024 年 5 月 2 日
Hi Victor,
To address the issue of exporting figures to .pdf files from MATLAB while ensuring a transparent background, it's necessary to include a Name-Value Argument, ContentType, as vector in your calls to the exportgraphics function.
Kindly refer to the modified code snippet below, where ContentType has been added for clarity.
exportgraphics(hf3,'test3d_mesh.pdf','BackgroundColor','none','ContentType','vector');
Please go through the following MathWorks documentations to learn more about Name-Value Arguments in exportgraphics function mentioned above.
- ContentType: https://www.mathworks.com/help/matlab/ref/exportgraphics.html#mw_5bdc680e-deea-429e-b58e-24e3de1083f7:~:text=DPI%20image%20file.-,ContentType
- BackgroundColor: https://www.mathworks.com/help/matlab/ref/exportgraphics.html#mw_5bdc680e-deea-429e-b58e-24e3de1083f7:~:text=uint32%20%7C%20uint64-,BackgroundColor
I hope the information provided above is helpful in accomplishing your task.
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Lighting, Transparency, and Shading についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!