Support for CData & CFunction in plot functions
Gregory Vernon
on 2 Apr 2024
In short: support varying color in at least the plot, plot3, fplot, and fplot3 functions.
This has been a thing that's come up quite a few times, and includes questions/requests by users, workarounds by the community, and workarounds presented by MathWorks -- examples of each below. It's a feature that exists in Python's Matplotlib library and Sympy. Anyways, given that there are myriads of workarounds, it appears to be one of the most common requests for Matlab plots (Matlab's plotting is, IMO, one of the best features of the product), the request precedes the 21st century, and competitive tools provide the functionality, it would seem to me that this might be the next great feature for Matlab plotting.
I'm curious to get the rest of the community's thoughts... what's everyone else think about this?
---
User questions/requests
- https://www.mathworks.com/matlabcentral/answers/480389-colored-line-plot-according-to-a-third-variable
- https://www.mathworks.com/matlabcentral/answers/2092641-how-to-solve-a-problem-with-the-generation-of-multiple-colored-segments-on-one-line-in-matlab-plot
- https://www.mathworks.com/matlabcentral/answers/5042-how-do-i-vary-color-along-a-2d-line
- https://www.mathworks.com/matlabcentral/answers/1917650-how-to-plot-a-trajectory-with-varying-colour
- https://www.mathworks.com/matlabcentral/answers/1917650-how-to-plot-a-trajectory-with-varying-colour
- https://www.mathworks.com/matlabcentral/answers/511523-how-to-create-plot3-varying-color-figure
- https://www.mathworks.com/matlabcentral/answers/393810-multiple-colours-in-a-trajectory-plot
- https://www.mathworks.com/matlabcentral/answers/523135-creating-a-rainbow-colour-plot-trajectory
- https://www.mathworks.com/matlabcentral/answers/469929-how-to-vary-the-color-of-a-dynamic-line
- https://www.mathworks.com/matlabcentral/answers/585011-how-could-i-adjust-the-color-of-multiple-lines-within-a-graph-without-using-the-default-matlab-colo
- https://www.mathworks.com/matlabcentral/answers/517177-how-to-interpolate-color-along-a-curve-with-specific-colors
- https://www.mathworks.com/matlabcentral/answers/281645-variate-color-depending-on-the-y-value-in-plot
- https://www.mathworks.com/matlabcentral/answers/439176-how-do-i-vary-the-color-along-a-line-in-polar-coordinates
- https://www.mathworks.com/matlabcentral/answers/1849193-creating-rainbow-coloured-plots-in-3d
- https://groups.google.com/g/comp.soft-sys.matlab/c/cLgjSeEC15I?hl=en&pli=1 (a question asked in 1999!)
- ... the list goes on, and on, and on...
User-provided workarounds
- https://undocumentedmatlab.com/articles/plot-line-transparency-and-color-gradient
- https://www.mathworks.com/matlabcentral/fileexchange/19476-colored-line-or-scatter-plot
- https://www.mathworks.com/matlabcentral/fileexchange/23566-3d-colored-line-plot
- https://www.mathworks.com/matlabcentral/fileexchange/30423-conditionally-colored-line-plot
- https://www.mathworks.com/matlabcentral/fileexchange/14677-cline
- https://www.mathworks.com/matlabcentral/fileexchange/8597-plot-3d-color-line
- https://www.mathworks.com/matlabcentral/fileexchange/39972-colormapline-color-changing-2d-or-3d-line
- https://www.mathworks.com/matlabcentral/fileexchange/37725-conditionally-colored-plot-ccplot
- https://www.mathworks.com/matlabcentral/fileexchange/11611-linear-2d-plot-with-rainbow-color
- https://www.mathworks.com/matlabcentral/fileexchange/26692-color_line
- https://www.mathworks.com/matlabcentral/fileexchange/32911-plot3rgb
- And perhaps more?
MathWorks-provided workarounds
- https://www.mathworks.com/videos/coloring-a-line-based-on-height-gradient-or-some-other-value-in-matlab-97128.html
- https://www.mathworks.com/videos/making-a-multi-color-line-in-matlab-97127.html
- https://www.mathworks.com/matlabcentral/fileexchange/95663-color-trajectory-plot (contributed by a MathWorks staff member)
- And perhaps more?