1

出来ますか?以下のコードは、私がやりたいことを示しています。

xdata = [0 1 2];
ydata = [0 1 0];
h = patch(xdata,ydata,'w');
set(h, 'FaceAlpha', 0.2);
print -dpng myfig

オプション-nodisplayを使用してMATLABを起動し、上記のコードを実行すると、MATLABは単にコアダンプを提供します。MATLABは、これ以上の説明なしにクラッシュするよりも少し良く動作するはずだと思いますが、これは、openglとzbufferレンダラーのどちらもターミナルエミュレーションモードで使用できないためだと理解しています。

私は透明な図を.svgフォーマットでプロットすることでこの問題を回避していますが、これは私にとって理想的な解決策ではありません。私のMATLABスクリプトは、多くの図が埋め込まれたHTMLレポートを生成しており、ほとんどのブラウザーは、いくつかの(比較的複雑な).svg画像を含むページをレンダリングするときにパフォーマンスが非常に低くなります。それで、誰かがより良い解決策を知っていますか?

4

1 に答える 1

0

この問題の間接的な解決策は、plot2svg().svgを使用して透明な図をファイルに出力し、次にInkscapeを使用してファイルを、またはInkscapeでサポートされている他の形式に変換することです。Inkscape は非常に優れたコマンド ライン サポートを提供するため、MATLAB からプロセス全体を簡単にスクリプト化できます。Inkscape は、Windows、Linux、および Mac OS X で利用できます。.svg.png.pdf

于 2012-11-13T15:58:25.310 に答える