How to plot 3 variables joint probability distribution

조회 수: 7 (최근 30일)
Danupon Subanapong
Danupon Subanapong 2019년 1월 1일
댓글: Cris LaPierre 2019년 1월 1일
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.

답변 (1개)

Cris LaPierre
Cris LaPierre 2019년 1월 1일
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
Cris LaPierre
Cris LaPierre 2019년 1월 1일
Also, check out this StackOverflow post.
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.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기

제품


릴리스

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by