我正试图像标题所说的那样,画一棵生成树。
但是,如果我试图绘制我的图形,就会出现以下错误:
使用rng太多输入参数时出错。matlab.internal.graph.MLGraph/forceLayout>layoutOneConnComp (第82行) oldstate = rng(0,‘twister’)中的错误;matlab.内在.Graph.ml图/forceLayout(第55行) x,y= layoutOneConnComp(x,y,源,目标,迭代)中的错误;matlab.graphics.chart.primitive.GraphPlot/layoutforce错误,matlab.graphics.chart.primitive.GraphPlot/layout>layoutauto错误,matlab.graphics.chart.primitive.GraphPlot/layout错误,图/图中的matlab.graphics.chart.primitive.GraphPlot错误(第110行) hObj = matlab.graphics.chart.primitive.GraphPlot('BasicGraph',
其他信息:
GrangerLandN={ 'X' 'Y' 'Z' ...}';
GrangerCoal={ 'A' 'B' 'C' ...}';
GrangerValues=(1,2,3,...)';
GG=graph(GrangerLandN,GrangerCoal,GrangerValues)
GG =
graph with properties:
Edges: [100×2 table]
Nodes: [20×1 table]
plot(GG) %also tried plot(GG,'EgdesLabel',GG.Edges.Weight) but both are throwing the error stated above. 用较少的观察做了同样的尝试,而且效果非常好。错误的原因是什么,以及如何修复代码?
发布于 2018-10-24 16:50:36
本例中使用的关键函数是pplot和来自MATLOG工具箱的minspan。下面的代码创建一个网络,然后绘制一个最小生成树 (维基)。
还使用MATLOG的一些支持函数(参见下面的代码)来创建示例(取自马洛格文档)。
%% 2. Create Delaunay Network from Cities Centered around Atlanta
%% Make network using cities of 30k pop. within 150 miles of Atlanta
Atl = uscity('XY',mand({'Atlanta'},uscity('Name'),{'GA'},uscity('ST')));
[Name,XY]=uscity10k('Name','XY', ...
(dists(Atl,uscity10k('XY'),'mi') < 150)' & uscity10k('Pop') > 30000);
makemap(XY)
pplot(XY,'r.')
%% Use Delaunay triangulation as road network
tri = delaunay(XY(:,1),XY(:,2)); % Delaunay triangulation
IJ = tri2list(tri); % Convert to arc list
d = diag(dists(XY(IJ(:,1),:),XY(abs(IJ(:,2)),:),'mi'));
d = d * 1.2; % Convert great circle to estimated road distances
d = round(d);
IJD = [IJ d];
pplot(IJD,XY,'m-')
pplot(IJD,num2cellstr(d),XY)
%% Minimum Spanning Tree (Kruskal algorithm)
t = minspan(IJD);
pplot(IJD(t~=0,:),XY,'b-','LineWidth',2,'DisplayName','minspan')

https://stackoverflow.com/questions/48358456
复制相似问题