動機
matlabのplot3は、軸ラベルが見難く、
加えて、軸が原点を通っていない
目的
原点を通るx,y,z軸をプロットし、
plot3のベースとする。
function [ Handle ] = HandlePlot3( varargin ) % ハンドルを返す % 軸の範囲を単位ベクトル以外にしたければ、 % x,y,zの3要素を設定する if nargin <= 2; valZ = 1; else valZ = varargin{3}; end; if nargin <= 1; valY = 1; else valY = varargin{2}; end; if nargin == 0; valX = 1; else valX = varargin{1}; end; AZ = -60; EL = 15; x1 = [ 0 , valX ]'; y1 = [ 0 , 0 ]'; z1 = [ 0 , 0 ]'; x2 = [ 0 , 0 ]'; y2 = [ 0 , valY ]'; z2 = [ 0 , 0 ]'; x3 = [ 0 , 0 ]'; y3 = [ 0 , 0 ]'; z3 = [ 0 , valZ ]'; xx = [ x1 ; x2 ; x3]; yy = [ y1 ; y2 ; y3]; zz = [ z1 ; z2 ; z3]; Handle = figure; hold on;grid on;axis square; plot3(xx,yy,zz, 'Marker','^' ,'LineWidth', 2 ,'Color' , 'k'); view( AZ , EL ); xlabel('x'); ylabel('y'); zlabel('z'); %軸の反転 set(gca,'XDir','rev','YDir','rev'); hold off; end