想要一个简单的快速方法让3D绘图的刻度更长
问题描述:
我知道有很多方法可以使用一些很好的软件包,但是我发现这些方法对我来说太复杂了。想要一个简单的快速方法让3D绘图的刻度更长
那么,什么是一个简单快速的方式来做一个三维绘图(实际上,由RegionPlot3D
生成的情节)滴答较长?
我不在乎代码效率。
谢谢! :)
答
您可以控制Ticks选项中的刻度长度。例如。在这里,他们被设置为0.06在一个方向:
ticks = {#, #, {0, 0.06}} & /@ (Range[11] - 6);
RegionPlot3D[x y z < 1, {x, -5, 5}, {y, -5, 5}, {z, -5, 5},
PlotStyle -> Directive[Yellow, Opacity[0.5]], Mesh -> None,
Ticks -> Table[ticks, {3}], AxesEdge -> {{-1, -1}, None, None}]
答
你可以使用一个功能Ticks
。这种特殊的功能来自于Ticks
documentation,(点击推广和扩展。)
ticks[min_, max_] := Table[If[EvenQ[i], {i, i, .06, Red}, {i, i, .02, Blue}],
{i, Ceiling[min], Floor[max], 1}]
Plot3D[Sin[x + y^2], {x, -3, 3}, {y, -2, 2}, Ticks -> ticks]
你可以使用它的变化来区分主要和次要刻度(如整型值和十分之一。这功能也直出documentation的(在应用程序)。
ticks[min_, max_] :=
Join[Table[{i, Style[i, 12], {.04, 0}}, {i, Ceiling[min],
Floor[max]}],
Table[{j + .5, , {.02, 0}}, {j, Round[min], Round[max - 1], 1}]]
答
对不起,我无法抗拒:
tick = Import["http://www.salamatvet.com/images/tick-1.jpg"];
Plot[ Sin[x], {x, 0, 10}, Method -> {"AxesInFront" -> False},
Ticks -> {Table[{i, Labeled[i, Image[tick, ImageSize -> 30]]},
{i, 2, 10, 2}]}]
Tick是蜱,是蜱...
感谢阿列克谢为AxesInFront
建议。
+1。添加'方法 - > {“AxesInFront” - > False}'使这个情节更好。 ;) –
@Alexey谢谢!编辑。从来没有听说过这个选项。你从哪里得到它的? –
请参阅:http://groups.google.com/group/comp.soft-sys.math.mathematica/msg/11783ce8923d76b4 –