Creating a smooth phase diagram
21 views (last 30 days)
Show older comments
I'm looking to create a smooth phase diagram of different states (something similar to the bottom image below). My raw data is shown on the top left.
The issue is when I try to interpolate things, to smooth out the steps in the image, I always end up with some kind of border between the states. This is shown in the top right, for example, going down the dark red column, it transistions from dark red through light red to yellow. But the transition should be directly to yellow.
The issue causing this is that I have 6 different states I want to include in the phase diagram, but they don't all happen sequencially (i.e. we can go from state 1 to 3 without going though 2).
Is there a way to create smooth distinct regions of colour like the image at the bottom? (this image is just an example and does not correspond to my data)



4 Comments
Star Strider
on 10 Mar 2022
I have no idea what you’re doing or what the data are, however interpolating to a finer grid could be the solution. The edge colour problem is separate, and llikely could be solved by toggling the 'EdgeColor' property of whatever that plot is.
Answers (1)
Star Strider
on 10 Mar 2022
Again just guessing here, since I have no idea what you¹re actually doing.
I would still interpolate to a finer grid, and then threshold the results so that instead of a continuous gradient, the plot becomes stepwise.
Also, in this instance, the contourf function could be appropriate. It is possible to define the contour levels so only specific contours are plotted. This would eliminate the continuous gradient problem, and still produce the contours on a finer grid. It is also possible to turn off the contour lines themselves if it isn’t desirable to have them shown.
.
2 Comments
See Also
Categories
Find more on Image Processing Toolbox 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!