Skip to main content
Tweeted twitter.com/StackMma/status/1562590658434859009
added 17 characters in body
Source Link
RL's
  • 135
  • 5

I am looking for a way to manually control the positioning of labels in a 3D plot. For this purpose I used to follow the methods of the accepted answers in:

Axes Origin & Labels in 3D Plot

Manually assigning Axes label position in Plot3D

which basically achieves that using Show and something like

Graphics3D[Text["x", Scaled[{0.5, -0.2, -0.2}] ]

I'm guessing this has something to do with the version 13.1, but this no longer works. In this version I can't even reproduce the accepted solutions above anymore. The labels simply don't show up.

Example:

Show[{Plot3D[x^2 + y^2 + 3, {x, -3, 3}, {y, -3, 3},AxesOrigin -> {0, 0, 0}, PlotRange -> {-1, 20}], Graphics3D[{Text["x", Scaled[{-.05, .5, 0}], {0, -1}], Text["y", Scaled[{.5, -.05, 0}], {0, -1}], Text["z", Scaled[{.5, .5, 1.1}]]}]}, Boxed -> False]]

returns:

enter image description hereenter image description here

no x y z labels...

I think the problem is that Scaled brings the label outside the boundingbox of Graphics3D, but PlotRange doesn't fix that. I can play with Scaled to bring the labels into the plot. In this picture it still may look fine to bring the labels inside, but in other cases it doesn't.

Also, if possibe, I'd like the answer not to involve the function Text, because for aesthetic reasons I use the package Matex, to produce labels as in

Graphics3D[Inset[MaTeX["x"], Scaled[{0.5, -0.2, -0.2}] ] ]

and hence some functionalities of Text may not carry over. Alternatives to this approach are also welcome though. Thank you.

I am looking for a way to manually control the positioning of labels in a 3D plot. For this purpose I used to follow the methods of the accepted answers in:

Axes Origin & Labels in 3D Plot

Manually assigning Axes label position in Plot3D

which basically achieves that using Show and something like

Graphics3D[Text["x", Scaled[{0.5, -0.2, -0.2}] ]

I'm guessing this has something to do with the version 13.1, but this no longer works. In this version I can't even reproduce the accepted solutions above anymore. The labels simply don't show up.

Example:

Show[{Plot3D[x^2 + y^2 + 3, {x, -3, 3}, {y, -3, 3},AxesOrigin -> {0, 0, 0}, PlotRange -> {-1, 20}], Graphics3D[{Text["x", Scaled[{-.05, .5, 0}], {0, -1}], Text["y", Scaled[{.5, -.05, 0}], {0, -1}], Text["z", Scaled[{.5, .5, 1.1}]]}]}, Boxed -> False]

returns:

enter image description here

no x y z labels...

I think the problem is that Scaled brings the label outside the boundingbox of Graphics3D, but PlotRange doesn't fix that. In this picture it still may look fine to bring the labels inside, but in other cases it doesn't.

Also, if possibe, I'd like the answer not to involve the function Text, because for aesthetic reasons I use the package Matex, to produce labels as in

Graphics3D[Inset[MaTeX["x"], Scaled[{0.5, -0.2, -0.2}] ] ]

and hence some functionalities of Text may not carry over. Alternatives to this approach are also welcome though. Thank you.

I am looking for a way to manually control the positioning of labels in a 3D plot. For this purpose I used to follow the methods of the accepted answers in:

Axes Origin & Labels in 3D Plot

Manually assigning Axes label position in Plot3D

which basically achieves that using Show and something like

Graphics3D[Text["x", Scaled[{0.5, -0.2, -0.2}] ]

I'm guessing this has something to do with the version 13.1, but this no longer works. In this version I can't even reproduce the accepted solutions above anymore. The labels simply don't show up.

Example:

Show[{Plot3D[x^2 + y^2 + 3, {x, -3, 3}, {y, -3, 3},PlotRange -> {-1, 20}],Graphics3D[{Text["x", Scaled[{-.05, .5, 0}], {0, -1}], Text["y", Scaled[{.5, -.05, 0}], {0, -1}], Text["z", Scaled[{.5, .5, 1.1}]]}]}]

returns:

enter image description here

no x y z labels...

I think the problem is that Scaled brings the label outside the boundingbox of Graphics3D, but PlotRange doesn't fix that. I can play with Scaled to bring the labels into the plot. In this picture it still may look fine to bring the labels inside, but in other cases it doesn't.

Also, if possibe, I'd like the answer not to involve the function Text, because for aesthetic reasons I use the package Matex, to produce labels as in

Graphics3D[Inset[MaTeX["x"], Scaled[{0.5, -0.2, -0.2}] ] ]

and hence some functionalities of Text may not carry over. Alternatives to this approach are also welcome though. Thank you.

added 4 characters in body
Source Link
RL's
  • 135
  • 5

I am looking for a way to manually control the positioning of labels in a 3D plot. For this purpose I used to follow the methods of the accepted answers in:

Axes Origin & Labels in 3D Plot

Manually assigning Axes label position in Plot3D

which basically achieves that using "show"Show and something like

Graphics3D[Text["x", Scaled[{0.5, -0.2, -0.2}] ]

I'm guessing this has something to do with the version 13.1, but this no longer works. In this version I can't even reproduce the accepted solutions above anymore. The labels simply don't show up.

Example:

Show[{Plot3D[x^2 + y^2 + 3, {x, -3, 3}, {y, -3, 3},AxesOrigin -> {0, 0, 0}, PlotRange -> {-1, 20}], Graphics3D[{Text["x", Scaled[{-.05, .5, 0}], {0, -1}], Text["y", Scaled[{.5, -.05, 0}], {0, -1}], Text["z", Scaled[{.5, .5, 1.1}]]}]}, Boxed -> False]

returns:

enter image description here

no x y z labels...

I think the problem is that "scaled"Scaled brings the label outside the boundingbox of "Graphics3D"Graphics3D, but "PlotRange"PlotRange doesn't fix that. In this picture it still may look fine to bring the labels inside, but in other cases it doesn't.

Also, if possibe, I'd like the answer not to involve the function TextText, because for aesthetic reasons I use the package MatexMatex, to produce labels as in

Graphics3D[Inset[MaTeX["x"], Scaled[{0.5, -0.2, -0.2}] ] ]

and hence some functionalities of Text may not carry over. Alternatives to this approach are also welcome though. Thank you.

I am looking for a way to manually control the positioning of labels in a 3D plot. For this purpose I used to follow the methods of the accepted answers in:

Axes Origin & Labels in 3D Plot

Manually assigning Axes label position in Plot3D

which basically achieves that using "show" and something like

Graphics3D[Text["x", Scaled[{0.5, -0.2, -0.2}] ]

I'm guessing this has something to do with the version 13.1, but this no longer works. In this version I can't even reproduce the accepted solutions above anymore. The labels simply don't show up.

Example:

Show[{Plot3D[x^2 + y^2 + 3, {x, -3, 3}, {y, -3, 3},AxesOrigin -> {0, 0, 0}, PlotRange -> {-1, 20}], Graphics3D[{Text["x", Scaled[{-.05, .5, 0}], {0, -1}], Text["y", Scaled[{.5, -.05, 0}], {0, -1}], Text["z", Scaled[{.5, .5, 1.1}]]}]}, Boxed -> False]

returns:

enter image description here

no x y z labels...

I think the problem is that "scaled" brings the label outside the boundingbox of "Graphics3D", but "PlotRange" doesn't fix that. In this picture it still may look fine to bring the labels inside, but in other cases it doesn't.

Also, if possibe, I'd like the answer not to involve the function Text, because for aesthetic reasons I use the package Matex, to produce labels as in

Graphics3D[Inset[MaTeX["x"], Scaled[{0.5, -0.2, -0.2}] ] ]

and hence some functionalities of Text may not carry over. Alternatives to this approach are also welcome though. Thank you.

I am looking for a way to manually control the positioning of labels in a 3D plot. For this purpose I used to follow the methods of the accepted answers in:

Axes Origin & Labels in 3D Plot

Manually assigning Axes label position in Plot3D

which basically achieves that using Show and something like

Graphics3D[Text["x", Scaled[{0.5, -0.2, -0.2}] ]

I'm guessing this has something to do with the version 13.1, but this no longer works. In this version I can't even reproduce the accepted solutions above anymore. The labels simply don't show up.

Example:

Show[{Plot3D[x^2 + y^2 + 3, {x, -3, 3}, {y, -3, 3},AxesOrigin -> {0, 0, 0}, PlotRange -> {-1, 20}], Graphics3D[{Text["x", Scaled[{-.05, .5, 0}], {0, -1}], Text["y", Scaled[{.5, -.05, 0}], {0, -1}], Text["z", Scaled[{.5, .5, 1.1}]]}]}, Boxed -> False]

returns:

enter image description here

no x y z labels...

I think the problem is that Scaled brings the label outside the boundingbox of Graphics3D, but PlotRange doesn't fix that. In this picture it still may look fine to bring the labels inside, but in other cases it doesn't.

Also, if possibe, I'd like the answer not to involve the function Text, because for aesthetic reasons I use the package Matex, to produce labels as in

Graphics3D[Inset[MaTeX["x"], Scaled[{0.5, -0.2, -0.2}] ] ]

and hence some functionalities of Text may not carry over. Alternatives to this approach are also welcome though. Thank you.

added 1 character in body
Source Link
RL's
  • 135
  • 5

I am looking for a way to manually control the positioning of labels in a 3D plot. For this purpose I used to follow the methods of the accepted answers in:

Axes Origin & Labels in 3D Plot

Manually assigning Axes label position in Plot3D

which basically achieves that using "show" and something like

Graphics3D[Text["x", Scaled[{0.5, -0.2, -0.2}] ]

I'm guessing this ishas something to do with the version 13.1, but this no longer works. In this version I can't even reproduce the accepted solutions above anymore. The labels simply don't show up.

Example:

Show[{Plot3D[x^2 + y^2 + 3, {x, -3, 3}, {y, -3, 3},AxesOrigin -> {0, 0, 0}, PlotRange -> {-1, 20}], Graphics3D[{Text["x", Scaled[{-.05, .5, 0}], {0, -1}], Text["y", Scaled[{.5, -.05, 0}], {0, -1}], Text["z", Scaled[{.5, .5, 1.1}]]}]}, Boxed -> False]

returns:

enter image description here

no x y z labels...

I think the problem is that "scaled" brings the label outside the boundingbox of "Graphics3D", but "PlotRange" doesn't fix that. In this picture it still may look fine to bring the labels inside, but in other cases it doesn't.

Also, if possibe, I'd like the answer not to involve the function Text, because for aesthetic reasons I use the package Matex, to produce labels as in

Graphics3D[Inset[MaTeX["x"], Scaled[{0.5, -0.2, -0.2}] ] ]

and hence some functionalities of Text may not carry over. Alternatives to this approach are also welcome though. Thank you.

I am looking for a way to manually control the positioning of labels in a 3D plot. For this purpose I used to follow the methods of the accepted answers in:

Axes Origin & Labels in 3D Plot

Manually assigning Axes label position in Plot3D

which basically achieves that using "show" and something like

Graphics3D[Text["x", Scaled[{0.5, -0.2, -0.2}] ]

I'm guessing this is something to do with the version 13.1, but this no longer works. In this version I can't even reproduce the accepted solutions above anymore. The labels simply don't show up.

Example:

Show[{Plot3D[x^2 + y^2 + 3, {x, -3, 3}, {y, -3, 3},AxesOrigin -> {0, 0, 0}, PlotRange -> {-1, 20}], Graphics3D[{Text["x", Scaled[{-.05, .5, 0}], {0, -1}], Text["y", Scaled[{.5, -.05, 0}], {0, -1}], Text["z", Scaled[{.5, .5, 1.1}]]}]}, Boxed -> False]

returns:

enter image description here

no x y z labels...

I think the problem is that "scaled" brings the label outside the boundingbox of "Graphics3D", but "PlotRange" doesn't fix that. In this picture it still may look fine to bring the labels inside, but in other cases it doesn't.

Also, if possibe, I'd like the answer not to involve the function Text, because for aesthetic reasons I use the package Matex, to produce labels as in

Graphics3D[Inset[MaTeX["x"], Scaled[{0.5, -0.2, -0.2}] ] ]

and hence some functionalities of Text may not carry over. Alternatives to this approach are also welcome though. Thank you.

I am looking for a way to manually control the positioning of labels in a 3D plot. For this purpose I used to follow the methods of the accepted answers in:

Axes Origin & Labels in 3D Plot

Manually assigning Axes label position in Plot3D

which basically achieves that using "show" and something like

Graphics3D[Text["x", Scaled[{0.5, -0.2, -0.2}] ]

I'm guessing this has something to do with the version 13.1, but this no longer works. In this version I can't even reproduce the accepted solutions above anymore. The labels simply don't show up.

Example:

Show[{Plot3D[x^2 + y^2 + 3, {x, -3, 3}, {y, -3, 3},AxesOrigin -> {0, 0, 0}, PlotRange -> {-1, 20}], Graphics3D[{Text["x", Scaled[{-.05, .5, 0}], {0, -1}], Text["y", Scaled[{.5, -.05, 0}], {0, -1}], Text["z", Scaled[{.5, .5, 1.1}]]}]}, Boxed -> False]

returns:

enter image description here

no x y z labels...

I think the problem is that "scaled" brings the label outside the boundingbox of "Graphics3D", but "PlotRange" doesn't fix that. In this picture it still may look fine to bring the labels inside, but in other cases it doesn't.

Also, if possibe, I'd like the answer not to involve the function Text, because for aesthetic reasons I use the package Matex, to produce labels as in

Graphics3D[Inset[MaTeX["x"], Scaled[{0.5, -0.2, -0.2}] ] ]

and hence some functionalities of Text may not carry over. Alternatives to this approach are also welcome though. Thank you.

added 58 characters in body
Source Link
RL's
  • 135
  • 5
Loading
Source Link
RL's
  • 135
  • 5
Loading