How to plot 3 variables joint probability distribution
8 views (last 30 days)
Show older comments
Hello!!
I would like to ask for some help. I am working on plotting 3 variable joint probability distribution. I have been researching on how to plot for several days, but I have not found any solution yet. I will also attach example of the plot I intend to perform as well as the text file of these joint probability distributions. I really appreciate any help you can provide.
0 Comments
Answers (1)
Cris LaPierre
on 1 Jan 2019
To create that type of plot, I think you'd want to use surf. However, you would need to first turn your data into matrices (for Z and C at least) for the function surf, mesh, or contour to be able to plot them. See this answer for suggestions.
Currently, there are not enough data points for this approach to create a plot that looks like what you shared.
Perhaps it's simplest to get started using scatter3?
data = readtable(file);
G = findgroups(data.A);
for idx = 1:max(G)
scatter3(data.B(G==idx),data.C(G==idx),data.A(G==idx),15,data.Probability(G==idx))
hold on
end
view(3)
1 Comment
Cris LaPierre
on 1 Jan 2019
Perhaps I'm messing up your data somehow, but the plots just don't look anything like what you shared. Could you create a 2D plot of what a single level should look like (for A==1) and share it here?
It doesn't have to be a contour plot - surf, mesh, etc. An image along with the accompanying code for what displays a single level the way you want. Then we can help you figure out how to create a stacked plot of that.
See Also
Categories
Find more on Surface and Mesh 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!