I have these commands

j0=Q1>0&&Q2>0&&Q3>0&&Q1+3 Q2+2 Q3<1;j1=j0&&Q1^2+3 Q2 Q1+(3 Q2+Q3)^2<3 Q2+2 Q1 Q3;Choi=2 Q3+1<2 Q1+3 Q2;MUB=Q1>3 Q2+4 Q3;Show[RegionPlot3D[j1,{Q1,0,1/2},{Q2,0,1/3},{Q3,0,1/4},AxesLabel->{"Subscript[Q, 1]","Subscript[Q, 2]","Subscript[Q, 3]"}],RegionPlot3D[j0&&MUB,{Q1,0,1/2},{Q2,0,1/3},{Q3,0,1/4},AxesLabel->{"Subscript[Q, 1]","Subscript[Q, 2]","Subscript[Q, 3]"}],RegionPlot3D[j0&&Choi,{Q1,0,1/2},{Q2,0,1/3},{Q3,0,1/4},AxesLabel->{"Subscript[Q, 1]","Subscript[Q, 2]","Subscript[Q, 3]"}],RegionPlot3D[j1&&MUB,{Q1,0,1/2},{Q2,0,1/3},{Q3,0,1/4},AxesLabel->{"Subscript[Q, 1]","Subscript[Q, 2]","Subscript[Q, 3]"}]]

which produces a three-dimensional plot


I want to label the first (largest) object produced "PPT", the second object, "MUB", and the third object, "Choi". How might I proceed to do so?

Also, I'd appreciate any general recommendations on enhancement/presentation of the plot (coloring,...)


1 Answer 1

plots = RegionPlot3D[#, {Q1, 0, 1/2}, {Q2, 0, 1/3}, {Q3, 0, 1/4}] & /@ 
  {j1, j0 && MUB, j0 && Choi};

coords = Cases[#, GraphicsComplex[x_,__] :> Median/@Transpose[x], All][[1]]& /@ plots;
labels = {"PPT", "MUB", "CHOI"};
texts3d = Graphics3D[MapThread[Text, {labels, coords}], Axes -> True];

Show[plots, texts3d, AxesLabel -> (Subscript[Q, #] & /@ {1, 2, 3})]

enter image description here

  • $\begingroup$ Good, and thanks, but I don't perceive the "MUB" label. $\endgroup$ Jul 15, 2019 at 21:22
  • $\begingroup$ @Paul, changed the text coordinates for better placement of labels. $\endgroup$
    – kglr
    Jul 15, 2019 at 21:30
  • $\begingroup$ Good. I'll give a check to the answer. Any point/value in the use of different colors,...? (I'm not very knowledgeable in the graphics options,...) Could the labels be made to stand out more prominently? Just wondering about these things--thanks very much in any case. $\endgroup$ Jul 15, 2019 at 21:43
  • 1
    $\begingroup$ @Paul, you can use something like texts3d = Graphics3D[MapThread[Text[Style[#, Red, Bold, FontSize -> 16], #2]&, {labels, coords}], Axes -> True] to make the labels stand out. $\endgroup$
    – kglr
    Jul 15, 2019 at 21:53
  • 1
    $\begingroup$ Wow, they really stand out with that last suggestion! $\endgroup$ Jul 15, 2019 at 22:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.