广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    MATLAB怎么绘制图节点和边及自定义加权图

    来源:网络收集  点击:  时间:2024-03-06
    【导读】:
    MATLAB绘图功能是很丰富的,提供了许多丰富的作图函数帮助我们绘制高级图形,当我们需要绘制带边的节点图、加权图、有向图该怎么绘制和自定义呢,下面分享给大家MATLAB绘制这些高级图的方法、步骤,希望能够帮助大家。工具/原料moreMATLABMATLAB绘制带边的节点图、加权图、有向图方法/步骤1/8分步阅读

    第一步:plot函数可以绘制带节点和边的图,首先我们小试牛刀,使用plot函数绘制一个稀疏邻接矩阵图,MATLAB代码如下:

    a=8;

    b= delsq(numgrid(L,a+3));

    c= graph(b,OmitSelfLoops)

    plot(c)

    其中,a,b,c是创建一个稀疏邻接矩阵。

    2/8

    第二步:我们将绘制稀疏邻接矩阵图的代码复制到MATLAB命令窗口中,然后运行即可,plot()函数即可将我们创建好的稀疏邻接矩阵绘制成带节点的边的图,运行结果如下图所示。

    3/8

    第三步:上面这个图看起来是一个曲面的,立体感不强,下面我们使用行设定符来绘制一个足球形状的点边球图,MATLAB代码如下:

    G = graph(bucky);

    plot(G,-.b,NodeLabel,{})

    其中,在plot函数中可以自定义点形状,大小,边连接线,颜色,标签等。

    4/8

    第四步:我们将此绘制点边球图的代码复制到MATLAB命令窗口中并运行,即可成功绘制出一个蓝色点球图,如下图所示。

    5/8

    第五步:上面介绍了点边图的绘制,下面介绍绘制带点有方向箭头的有向图,绘制有向图需要定义点和方向及边缘,我们需使用digraph()函数,addedge()函数和plot函数,使用force布局,绘制有向图的MATLAB代码如下:

    a= digraph(1,3:8);

    a= addedge(a,3,9:18);

    a= addedge(a,18,19:24)

    plot(a,Layout,force)其中,我们在addedge函数中增加节点和边,a后面第一个数是中心节点,第二个数和第三个数定义向量终点及支路名称。

    6/8

    第六步:将此绘制有向图的代码复制到MATLAB命令窗口中,然后运行即可成功绘制一个多节点多支路星状有向图,如下图所示。

    7/8

    第七步:我们来绘制加权图并进行自定义,我们在MATLAB命令窗口中输入如下代码并运行即可绘制一个加权图,得出的加权图绘制结果如下图所示。

    a1= ;

    b1= ;

    weights = ;

    c1= graph(a1,b1,weights)

    a= ;

    b= ;

    c= ;

    plot(c1,XData,a,YData,b,ZData,c,EdgeLabel,c1.Edges.Weight)

    8/8

    第八步:关于加权图,我们还可以使用view(3)函数来选择观察的角度,使用LWidths = 4*c1.Edges.Weight/max(c1.Edges.Weight);来以权重调整各条边的线宽,这里最大线宽为4,还可以使用eLabels = {a b c b c a c a b c b a};nLabels = {{0},{a},{b},{c},{a,b},{a,c},{b,c},{a,b,c}};来给边和节点添加标签,使用p.Marker = s;p.NodeColor = g;可以给节点添加颜色和标记。部分程序运行结果如下图所示。

    注意事项

    在绘制加权图的时候需要注意检查边数和连接点,注意重复并进行修改。

    在绘制加权图的时候可以使用p.MarkerSize =5;来增加节点的大小,使用p.LineStyle = _;来改变线形,使用p.XData 、p.YData 改变x、y坐标。

    MATLABMATLAB绘节点图MATLAB绘加权图MATLAB绘有向图
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_253541.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-07 06:22:23  耗时:0.032
    0.0317s