0

無向グラフのエッジにラベルを付けようとしていますが、このマットグラフ ツールを使用しています! グラフの作成に成功しました。ウェイトを割り当てたいだけです...助けてください!!

これが私が試したものです、

clear all;
close all;
clc;
g=graph;
for k=1:6

add(g,k,k+1)
add(g,1,4)
add(g,5,7)
end
ndraw(g);
x=rand(1,1);
y=rand(1,1)
A =[0 x 0 x 0 0 0;
x 0 x 0 0 0 0;
0 x 0 x 0 0 0;
x 0 x 0 x 0 0;
0 0 0 y 0 x x;
0 0 0 0 x 0 x;
0 0 0 0 x x 0]

ここに画像の説明を入力

4

1 に答える 1

1

私があなたを正しく理解していれば、あなたが書いたコードの後に​​このコードを追加することができます:

% get line info from the figure
lineH = findobj(gca, 'type', 'line');
xData = cell2mat(get(lineH, 'xdata')); % get x-data
yData = cell2mat(get(lineH, 'ydata')); % get y-data

% if an edge is between (x1,y1)<->(x2,y2), place a label at
% the center of the line, i.e. (x1+x2)/2 (y1+y2)/2 etc
labelposx=mean(xData');
labelposy=mean(yData');

% generate some random weights vector
weights=randi(21,length(labelposx),1); 

% plot the weights on top of the figure
text(labelposx,labelposy,mat2cell(weights), 'HorizontalAlignment','center',... 
                                            'BackgroundColor',[.7 .9 .7]); 

ここに画像の説明を入力してください

于 2012-10-26T07:10:41.293 に答える