2010-05-24 98 views
5
  1. 如何删除x轴上的数字而不是y轴?
  2. 是否可以在不改变功能的情况下移动y轴?我的意思是,而不是在x = 0的y轴,我可以在x = -5吗?

回答

5

在大多数控制轴的选项中,可以使用两个值的列表来指定两个轴的不同行为。你目前如何删除数字?我能想到的把我的头顶部的唯一方法是手动指定剔位置,没有标签,像这样:

Ticks -> {{{0, ""}, {1, ""}, {2, ""}}, Automatic} 

否则你必须先从显卡输出周围改写(munging),我猜?无论如何,无论你做什么,都可以使用这样的两元素列表将不同的选项应用于每个维度。

要重新定位坐标轴,可以使用选项AxesOrigin;在你的例子中,你会使用AxesOrigin->{-5,0}

5

刻度标记由TicksFrameTicks控制,如果Frame -> True。请注意,类似ContourPlotDensityPlot的地块默认有一个框架(即Frame -> True)。为Ticks说明书是

Ticks -> {<x ticks>, <y ticks>, <z ticks>} 

其中z ticks仅存在用于3D绘图。该FrameTicks规范

FrameTicks -> { {left, right}, {bottom, top} } 

两个TicksFrameTicks同时接受AutomaticNone分别使用默认的算法或没有蜱。所以,要消除只在x轴上的刻度你做

Ticks -> { None, Automatic } 

和帧

FrameTicks -> { {Automatic, Automatic}, {None, None} } 

如果你想有刻度线的确切位置进行更多的控制,那么@Jefromi是正确的,你需要指定一个列表。 TicksFrameTicks文档值得阅读,以更好地感受如何做到这一点。但请注意,做任何比列出几个要点更复杂的东西都是Mathematica中的黑色艺术,并且会导致很多挫折。

至于你的第二个问题,你用@Jefromi指出的AxesOrigin -> {-5, 0}