我有一个代表图形的Matlab绘图。我想以某种方式显示较暗的线条在较浅的线条之上,以使较浅的线条在穿越它们时不改变较暗的线条。我该怎么做?
编辑:用于复制示例的Matlab代码如下:
似乎边的排序决定了谁在图形的最上面。例如,如果将重量0.04分配给其他交叉的边(A(1,3)=A(3,1)),则不会看到效果,因为边A(2,4)=A(4,2)出现在其后面。
编辑:用于复制示例的Matlab代码如下:
plot(G, 'XData', Xcoords, 'YData', Ycoords,'NodeLabel',{}, 'MarkerSize', 7,...
'Linewidth',1.6, 'EdgeCData', G.Edges.Weight)
colormap(flipud(gray(40)));
colorbar('southoutside');
caxis([min(G.Edges.Weight) max(G.Edges.Weight)])
axis off
在G.Edges.Weight中编码边的权重,其中G是指代图。为了模拟这种效果(使用更小的图),可以尝试以下代码:
A= zeros(4,4);
A(1,[2 3 4])=1;
A(2,4)=0.04;
A(2,[1 3])=1;
A(3,[2 1 4])=1;
A(4,2)=0.04;
A(4,[3 1])=1;
Xcoords=[1 2 2 1]';
Ycoords= [1 1 2 2 ]';
G= graph(A);% base toolbox
figure()
plot(G, 'XData', Xcoords, 'YData', Ycoords, 'NodeLabel',{}, 'MarkerSize', 7,...
'LineWidth', 3.8, 'EdgeCdata', G.Edges.Weight)
colormap(flipud(gray(40)));
colorbar('southoutside'); caxis([0 1]);
axis off
似乎边的排序决定了谁在图形的最上面。例如,如果将重量0.04分配给其他交叉的边(A(1,3)=A(3,1)),则不会看到效果,因为边A(2,4)=A(4,2)出现在其后面。
![Graph](https://istack.dev59.com/dVDBI.webp)
G
的示例代码吗? - Mad Physicist