6
FindDivisions[ ]被添加到Mma v7中,並且似乎是一個很好的方式來獲得靈活的蜱蟲圖。請參閱this question及其答案。FindDivisions []沒有按規定工作
用例:
f[fd_] := Join[
{#, #, {.07, 0}, Directive[Black, Thickness[.01]]} & /@ fd[[1]],
{#, #, {.05, 0}, Directive[Black, Thin]} & /@ Flatten[fd[[2]]]];
plot[pr_List] :=
Plot[Sin[x], [email protected][{x}, pr], Ticks -> {f[FindDivisions[pr, {2,5}]]}]
plot[{0, 10}]
所有的一切都似乎是正確的。
但有一個小故障:
f[fd_] := Join[
{#, #, {.03, 0}, Directive[Red, Thickness[.01]]} & /@ fd[[1]],
{#, #, {.05, 0}, Directive[Black, Thin]} & /@ Flatten[fd[[2]]]];
plot[pr_List] :=
Plot[Sin[x], [email protected][{x}, pr], Ticks -> {f[FindDivisions[pr, {2,5}]]}]
plot[{0, 10}]
正如你所看到的,紅色和黑色蜱疊加。這是因爲
FindDivisions[{0, 2}, {2, 4}]
(*
-> {{0, 1, 2}, {{0, 1/4, 1/2, 3/4, 1}, {1, 5/4, 3/2, 7/4, 2}}}
*)
並且您可以看到第一個列表中的數字(主標記)在第二個列表中重複出現。
然而,FindDivisions []文檔狀態:
於是,兩個問題:
- 這是一個錯誤,還是我做的(或理解)出問題了嗎?
- 任何容易方式刪除多級結構中的重複滴答?
感謝@Brett。 'FindDivisions [{0,2},{2,4,2}]'是如何工作的? – 2011-06-16 15:40:24
答案更新了,雖然我不在乎它在這種情況下找到的第三個級別的分區...... – 2011-06-16 16:08:58
似乎用'FindDivisions [{0,1},{3,3,3}]',值在第三個列表中重複'1/2' – 2011-06-16 16:35:17