我正在使用(优秀的)D3.js来生成一些图,我找不到从x轴和y轴移除末端刻度的方法.
以y轴为例.
当结束刻度值与标签重合时,我很乐意拥有它.
但是当最后一轮标签低于图的末尾时,我得到两个刻度,一个用于最后一个圆形标签,另一个在y轴末端高于它.
我不希望这个结尾标记可见,因为我发现它看起来比标签之间的常规inverval分散注意力.
请参阅此处以获取我所描述的示例:
http://www.road2stat.com/cn/wp-content/attachments/2012/04/d3_interactive.png
有小费吗?
PS作为回复建议,我可以明确设置滴答.但我喜欢隐式生成的滴答的便利,只是不希望未标记的滴答污染轴.因此,理想的解决方案(如果存在)也需要考虑.
在涉及Clojure时,我完成了一个小例子程序,从一个选择列表中随机选择.
基本思想是迭代选择(分配权重)并将其权重转换为范围,然后在总范围内选择一个随机数来选择一个.它可能不是最优雅的设计,但让我们理所当然.
与下面的例子相比,我会做些什么?
我对整体程序结构建议,名称间距等不感兴趣,主要是在你对每个函数的方法中.
我特别感兴趣的是经验丰富的Clojurer如何处理"增强"功能,我必须使用外部"cur"变量来指代范围的前一端.
(def colors
(hash-map
:white 1,
:red 10,
:blue 20,
:green 1,
:yellow 1
)
)
(def color-list (vec colors))
(def cur 0)
(defn augment [x]
(def name (nth x 0))
(def val (nth x 1))
(def newval (+ cur val))
(def left cur)
(def right newval)
(def cur (+ cur val))
[name left right]
)
(def color-list-augmented (map augment color-list))
(defn within-bounds [bound]
(def min-bound (nth bound 1))
(def max-bound (nth bound 2))
(and (> …Run Code Online (Sandbox Code Playgroud)