Is it possible gplot to have different line size, any help appreciated too
6 views (last 30 days)
Eng. Fredius Magige on 29 Sep 2015
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 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.
More Answers (2)
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')