2017-05-08 6 views
1

私はマトリックスから読んでいる図の中の特定のセルの方向を示したいと思います。「ラテックス矢印記号」を使って図に斜め矢印を作成する方法は?

添付の図では、左向き矢印を作成できましたが、南西方向に斜め矢印を挿入する方法はありません。

enter image description here

はどうやら、latex arrow symbol矢印と下矢印、左矢印、右矢印のため正常に動作しますが、斜めの矢印で失敗しました。

添付の画像では、シアンのセルを南西方向に矢印を挿入する必要があります。これを行う方法?ここで

スクリプトは私がしようとしています、

for row=1:size(data,1) 
    for col=1:size(data,2); 

     if data(row,col)==1 
      rectangle('Position',[col-0.5 row 1 1], 'FaceColor','y','EdgeColor','k', 'LineWidth', 0.1) 
      text(col-0.95,row+0.6,'\leftarrow', 'fontsize', 6); 

     elseif data(row,col)==2 
      rectangle('Position',[col-0.5 row 1 1], 'FaceColor','c','EdgeColor','k', 'LineWidth', 0.1) 
      text(col-0.95,row+0.6,'\swarrow', 'fontsize', 6); 

     else 
      rectangle('Position',[col-0.5 row 1 1], 'FaceColor','w','EdgeColor','k', 'LineWidth', 0.1)    
     end 

    end 

    set(gca,'Visible','off') 
end 

編集です: Annotationオプションは複雑さを増し、すべての別の問題のための矢印の位置合わせを必要とします。ラテックスの矢印記号を使うことができれば、問題はもっと簡単になります。

+0

は、あなただけのベクトルを描画するために検討しました、代わりにラテックステキストを使用する代わりに? – Bernhard

+0

いいえ、わかりません。あなたはもう少し詳しく説明できますか? – Mario

+0

'annotation'はジョブを実行するかもしれない –

答えて

1

上記のように、quiverを使用して矢印を描くことができます。また、pcolorは、すべての矩形をプロットして色付けする方がはるかに良い方法です。

data = randi(3,10)-1; % some random data 
% plot the rectangles: 
pcolor([data data(:,end); 
     data(end,:) 0]) 
% set the colors to w-y-c: 
colormap([1 1 1; 
    1 1 0; 
    0 1 1]); 
[r, c] = ndgrid(1:size(data,1),1:size(data,2)); % a grid of all the cells 
% logical indexing for the arrows: 
leftarrow = (data==1); 
swarrow = (data==2); 
% plot all the arrows in black: 
hold on 
quiver([r r]+0.1,[c c]+0.5,[-leftarrow.' -swarrow.'],... 
    [zeros(size(data)) -swarrow.'],'AutoScaleFactor',0.5,'Color','k') 
hold off 
set(gca,'Visible','off') 

そして典型的な結果:ここで

は、あなたが望むようなものを作成するために、それらの両方を使用するコードの例です pcolor & quiver

関連する問題