我使用Plot3D命令绘制了一个三维图。根据参数值,图表显示非常大的数字(例如,3000或100000)。所以,我的z轴看起来非常奇怪,因为它也会占据大空间。我想用科学指数格式写出它们,比如3 * 10 ^ 3或10 ^ 5。
我还看到Mathematica仅在数字有七位以上的数字时自动将BIG号码转换为科学格式。任何人都可以提供帮助,以便我可以用上述科学格式编写任何数字吗?
答案 0 :(得分:2)
您可以为z-ticks定义一个函数,如下所示: -
ticks[min_, max_, n_] := Transpose[Function[z, {z, Function[x,
ScientificForm[N@x]] /@ z}]@FindDivisions[{min, max}, n]]
m = 456;
Plot3D[{x^2 + y^2, -x^2 - y^2}, {x, -m, m}, {y, -m, m}, BoxRatios -> {1, 1, 1},
Ticks -> {Automatic, Automatic, ticks[#1, #2, 5] &}]
修改强>
以下内容可用于省略z轴刻度的有效位数中的小数点: -
ticks[min_, max_, n_] := Transpose[Function[z, {z, Function[x,
ScientificForm[N@x /. (0. -> 0), NumberPoint -> If[IntegerQ[x] &&
Union[Rest@IntegerDigits@x] == {0}, "", "."]]] /@ z}]@
FindDivisions[{min, max}, n]]