我想在Incanter的直方图中对齐我的x轴标签(基于JFreeChart),以便它们在条形图下居中。我也想摆脱分数轴刻度线。
我的问题与JFreeChart: Aligning domain axis with histogram bins非常相似。
以下是其他语言的相关问题:
(require '[incanter.charts :refer [histogram]])
(require '[incanter.core :refer [view]])
(def data [1 1 1 1 3 6])
(view (histogram data))
P.S。直方图也没有吸引力,因为6的条形是刻度标记的左。其他栏位于其刻度线的右侧!
更新:另见:
答案 0 :(得分:0)
基于查看Incanter源代码和JFreeChart文档,我不相信org.jfree.chart.ChartFactory/createHistogram
公开了自定义轴的功能。 (我可能错了 - 也许您可以在使用该工厂方法后修改轴。)
无论如何,我发现直接使用bar-chart
更容易(也许是必要的):
(ns custom-incanter
(:require
[incanter.charts :as ic]
[incanter.core :as i]))
(defn hist
[values title]
{:pre [(sequential? values)]}
(let [freq (frequencies values)
f #(freq % 0)
ks (keys freq)
a (apply min ks)
b (apply max ks)
x-values (range a (inc b))
x-labels (map str x-values)
y-values (map f x-values)]
(i/view (ic/bar-chart x-labels y-values :title title))))
像这样使用:
(hist [1 1 1 1 3 6] "Using Bar Chart")