【Matlab】画像として保存するとplot3による点が消えてしまう
【Matlab】画像として保存するとplot3による点が消えてしまう
-----------------------------------------------------------------------------------
最近Matlabを使用し始めた初心者です。よろしくお願いします。
surf出力とplot3による点が見える形で画像を出力したいと思っています。
画像はグラフを真下からのぞいたものとし、自動的に保存したいです。
自分の稚拙なプログラムではどうしてもプロットによる点が現れません。
対策をご教授いただきたいです。
プログラムの内容は、
二次元データをcsvから読み込み、surfで出力、
またデータ上のある座標での出力をplot3で点として表示するという流れを意図しています。
'Figure'ウィンドウ上(.fig)ではplot3で出力された点が表示されるのですが
画像(bmp,tiffで出力してみました)として出力した場合その点が消えてしまいます。
mファイルのプログラム、環境は以下のようになっています。
function test_show_graph(csvfilename)
%------------------------------------
z = csvread(csvfilename);
[height, width] = size(z);
[x,y] = meshgrid(0:0.1:(height*0.1));
h_surf = surf(x,y,z);
hold on
zi = interp2(x,y,z,4,4, 'cubic');
plot3(4.0,4.0,zi+10,'.r','MarkerSize',30);
plot3(4.0,4.0,zi-10,'.r','MarkerSize',30);
hold off
view([0, -90]);
saveas(h_surf, 'test', 'tiff');
%Matlab&Simulink R2008a
%WindowsVista SP1
%Dell StuioXPS(Intel Core i7)
surfの表面に隠れて点か見えなくなっていると思い、
表面の上下に突き抜けるようにlineを出力してみたりしてみましたがダメでした。
駄文となり申し訳ありません。
皆様の知識をお借りできれば幸いです。
お礼
ありがとうございます! これ、すごいですね!! Rubyのライブラリであるようなので、 やるとしたらそちらでやってみたいと思います。 ただ、決断はもう少し他の回答も待ってからにしたいと思います。