Plotting HSP in Matlab

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?

Réponses (1)

Star Strider
Star Strider le 22 Sep 2023

0 votes

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 commentaires

Peter
Peter le 25 Sep 2023
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 le 25 Sep 2023
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 le 26 Sep 2023
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 le 26 Sep 2023
My pleasure!
If my Answer helped you solve your problem, please Accept it!
.

Connectez-vous pour commenter.

Produits

Question posée :

le 22 Sep 2023

Commenté :

le 26 Sep 2023

Community Treasure Hunt

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

Start Hunting!

Translated by