Creating a smooth phase diagram

22 次查看(过去 30 天)
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 个评论
Star Strider
Star Strider 2022-3-10
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.
John Fullerton
John Fullerton 2022-3-10
I'm sorry, I haven't explained my issue well.
I'm creating a colormap with six different pixel values to represent the different states of my system that appear when varying X and Y coordinates. But interpolation means that to get from state 1 to 6, the map has to go through every other color.
But this isn't what I want to plot. Is there a way to interpolate different regions, where any color in my map can blend into any other color without going through any other states.
Thank you for your comment, I hope this makes more sense.

请先登录,再进行评论。

回答(1 个)

Star Strider
Star Strider 2022-3-10
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.
.

类别

Help CenterFile Exchange 中查找有关 Image Processing Toolbox 的更多信息

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by