想要一个简单快速的方法来制作3D绘图的刻度更长

Fre*_*ple 6 wolfram-mathematica

我知道有很多方法甚至可以使用一些好的软件包,但我发现这些方法对我来说太复杂了.

那么,什么是一个简单快速的方法来制作3D绘图的刻度(实际上,生成的绘图RegionPlot3D)更长?

我不关心代码效率.

谢谢!:)

Chr*_*nen 7

您可以在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}]
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


Dav*_*idC 7

你可以使用一个函数Ticks.此特定功能来自Ticks 文档,(单击"推广和扩展".)

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]
Run Code Online (Sandbox Code Playgroud)

蜱

您可以使用它的变体来区分主要和次要刻度(例如,整数值和十分之一.此功能也直接来自文档(在"应用程序"下).

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}]]
Run Code Online (Sandbox Code Playgroud)

ticks2


Dr.*_*ius 6

对不起,我无法抗拒:

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}]}]
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

刻度线是刻度线,是刻度线...

感谢Alexey提出的AxesInFront建议.

  • +1.添加`方法 - > {"AxesInFront" - > False}`使这个情节更好.;) (3认同)