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

6 views (last 30 days)
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

Accepted Answer

Walter Roberson
Walter Roberson on 29 Sep 2015
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 Comment
Eng. Fredius Magige
Eng. Fredius Magige on 30 Sep 2015
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

Sign in to comment.

More Answers (2)

Steven Lord
Steven Lord on 29 Sep 2015
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')

Sign in to comment.

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


Find more on 2-D and 3-D Plots in Help Center and File Exchange


Community Treasure Hunt

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

Start Hunting!