Is it possible gplot to have different line size, any help appreciated too

2 次查看(过去 30 天)
Is it possible gplot to have different line size. Assume I have xyz table, while the xy columns of coordinates and z column is describe size of line. It should be noted that connection table (i.e 0 or 1) is available since is mandatory for gplot function. Looking any recent knowledge as well as any help appreciated too

采纳的回答

Walter Roberson
Walter Roberson 2015-9-29
No, that is not possible with gplot.
You could examine and modify the File Exchange Contribution that extends gplot to 3D, but you would need to modify it a fair bit.
gplot and the equivalent file exchange contribution work by building a single line with all of the coordinates, putting in NaN between the line segments as plot() and plot3() interpret NaN as indicating a break in drawing. The difficulty with this approach is that this generates a single lineseries() (or line() for sufficiently old versions), and each of those can only have a single color and style and width associated. In order to have different lines with different thicknesses, it would be necessary to plot them as distinct lines.
There are some approaches like looping using plot() for each item. There is another approach, which is that if you can put all of the data into a single 2D array then each column of Y will generate a distinct line; you can then set() the line width property of each line.
  1 个评论
Eng. Fredius Magige
Hi Walter; OK, it seem very tough task, I think is working but need time. A matrix is generated from another table which is also very tough to manipulate as has many nodes from main, sub-main to lateral hydraulic pipeline. In few weeks to come I will conform its function-ability. Thanks too

请先登录,再进行评论。

更多回答(2 个)

Steven Lord
Steven Lord 2015-9-29
Don't use GPLOT. Use the new graph functionality in release R2015b instead. Take a look at the documentation for GRAPH for more information. When you plot a graph, you can change the sizes of individual edges independent of other edges. As a very simple example, create the Buckminster Fuller geodesic dome (soccer ball, buckyball) graph and plot it.
g = graph(bucky);
h = plot(g);
Now highlight the edges between node 6 and its neighbors by increasing the line width and making the edges red.
highlight(h, 6, neighbors(g, 6), 'LineWidth', 5, 'EdgeColor', 'r')
  2 个评论
Eng. Fredius Magige
Hi Steven; ok, is it Linewidth 5 to be variable (?)i.e changes as many a possible, and it can work in R2010b. I am generating a hydraulic layout, describing the size 16, 20, to 2000mm of pipes with pressure rate (PN 6,10 to 25)

请先登录,再进行评论。


Eng. Fredius Magige
The new release MatLab has gplot/g with capability to generate different line width with colors by weight characteristics/functionality. Thanks MatLab tool

类别

Help CenterFile Exchange 中查找有关 Graph and Network Algorithms 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by