2
我想製作一個沒有可見y軸的mathematica繪圖,但保留了刻度標籤。使Axis和ticks在mathematica圖中不可見,但保留標籤
我試過AxesStyle - > {Thickness [.001],Thickness [0]}沒有效果,並將不透明度設置爲0也使得刻度標籤完全透明(並因此不可見)。
任何幫助將是非常讚賞...
我想製作一個沒有可見y軸的mathematica繪圖,但保留了刻度標籤。使Axis和ticks在mathematica圖中不可見,但保留標籤
我試過AxesStyle - > {Thickness [.001],Thickness [0]}沒有效果,並將不透明度設置爲0也使得刻度標籤完全透明(並因此不可見)。
任何幫助將是非常讚賞...
p = Plot[Sin[x], {x, 0, 6 Pi},
AxesStyle -> {Black, Opacity[0]},
TicksStyle -> Directive[Opacity[1], Black]]
ticks = AbsoluteOptions[p, Ticks];
ticks[[1, 2, 2]] = DeleteCases[ticks[[1, 2, 2]], {_, "", __}];
ticks[[1, 2, 2, All, 3]] = ConstantArray[{0, 0},
Length[ticks[[1, 2, 2, All, 3]]]];
ticks[[1, 2, 2, All, 2]] = Map[ToString,
ticks[[1, 2, 2, All, 2]]] /. a_String :>
If[StringTake[a, -1] == ".", a <> "0", a];
Plot[Sin[x], {x, 0, 6 Pi},
AxesStyle -> {Black, Directive[Opacity[0], Red]},
TicksStyle -> Directive[Opacity[1], Black],
Ticks -> {Automatic, ticks[[1, 2, 2]]}]
得到確切的原蜱你可以使用
Cases[Charting`FindTicks[{0, 1}, {0, 1}] @@ PlotRange[p][[2]], {_, _}]
{{-1, -1.0},{ - 0.5,-0.5},{0,0},{0.5,0.5},{1.,1}}
如下實施:
p = Plot[Sin[x], {x, 0, 6 Pi},
AxesStyle -> {Automatic, Opacity[0]},
TicksStyle -> Opacity[1]];
ticks = AbsoluteOptions[p, Ticks];
onestyledtick = ticks[[1, 2, 2, 1]];
labels = Cases[Charting`FindTicks[{0, 1}, {0, 1}] @@
PlotRange[p][[2]], {_, _}];
yticks = Map[Join[#, {{0, 0}},
Take[onestyledtick, -1]] &, labels];
Plot[Sin[x], {x, 0, 6 Pi},
AxesStyle -> {Automatic, Opacity[0]},
TicksStyle -> Opacity[1],
Ticks -> {Automatic, yticks}]
相關注意事項:https://mathematica.stackexchange.com/questions/97317/absoluteoptions-doesnt-return-correct-option-value-of-ticks –
大 - 這肯定工作(很高興看到它不能做只是設置一個選項,當你使情節:-) –