I am trying to recreate a Hansen solubility sphere using Matlab. I can plot the solute sphere using:
[x,y,z] = sphere;
radius = 7.1;
x = x * radius;
y = y * radius;
z = z * radius;
x_offset = 17.0;
y_offset = 9.8;
z_offset = 9.4;
surf(x+x_offset,y+y_offset,z+z_offset)
surf(x,y,z,'FaceAlpha',0.3)
shading("interp")
colormap("summer")
xlabel('\delta_{d}', 'FontSize', 20);
ylabel('\delta_{p}', 'FontSize', 20);
zlabel('\delta_{h}', 'FontSize', 20);
axis equal;
However, I now need to be able to superimpose a 3D scatter plot on the same plot as the sphere. Any suggestions?

답변 (1개)

Star Strider
Star Strider 2023년 9월 22일

0 개 추천

Use the hold function —
[x,y,z] = sphere;
radius = 7.1;
x = x * radius;
y = y * radius;
z = z * radius;
x_offset = 17.0;
y_offset = 9.8;
z_offset = 9.4;
figure
surf(x+x_offset,y+y_offset,z+z_offset)
hold on
surf(x,y,z,'FaceAlpha',0.3)
hold off
shading("interp")
colormap("summer")
xlabel('\delta_{d}', 'FontSize', 20);
ylabel('\delta_{p}', 'FontSize', 20);
zlabel('\delta_{h}', 'FontSize', 20);
axis equal;
.

댓글 수: 4

Peter
Peter 2023년 9월 25일
Thanks - I'd tried that before but assumed I was wrong because of the appearance of two spheres - almost like the lower one is a shadow. Any idea how I can remove that so that only a single 3D sphere shows (plus the scatter plot when that's introduced).
Star Strider
Star Strider 2023년 9월 25일
My pleasure!
I’m lost. I thought you wanted to plot both of them. If you don’t want the second sphere, don’t plot it, or change its offsets to plot it in a different location. If you want to change the axes limits, use xlim and its friends or axis to set all the limits at once.
For the scatter plot, use hold and the scatter3 function.
Peter
Peter 2023년 9월 26일
Thanks - et voilla. Some tinkering to do with marker colour/shape, but it's not a bad approximation of what we get with bespoke sofware.
Star Strider
Star Strider 2023년 9월 26일
My pleasure!
If my Answer helped you solve your problem, please Accept it!
.

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

카테고리

제품

질문:

2023년 9월 22일

댓글:

2023년 9월 26일

Community Treasure Hunt

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

Start Hunting!

Translated by