作为参考,我有一个折线图,其中每周显示一个点 (x),基于一周的第一天,跨越多年(颜色)。但是,我不希望 X 轴读为 W01-W52,因为它更直观地显示一周发生在哪个月份。所以我希望轴刻度从每个月的第一天开始。
这就是我当前的格式化方式(使用 Clojure,因此使用 .EDN 而不是 .JSON,但应该很容易看到我在做什么)。
{:x {:title "Week"
:timeUnit "week"
:field :WeekBeginning
:type "temporal"
:axis {:format "%b"
:labelExpr "datum.label[0]"
:tickCount 12}}
不幸的是,刻度线不会以这种方式在每个月初开始,因此例如“二月”刻度线/线位于二月中旬,其中一些点在其前面,一些点在其后面。
当我尝试像这样显式设置刻度时,我根本没有得到任何刻度:
{:x {:title "Week"
:timeUnit "week"
:field :WeekBeginning
:type "temporal"
:axis {:format "%b"
:labelExpr "datum.label[0]"
:ticks true
:values ["2024-01-01" "2024-02-01" "2024-03-01" "2024-04-01"
"2024-05-01" "2024-06-01" "2024-07-01" "2024-08-01"
"2024-09-01" "2024-10-01" "2024-11-01" "2024-12-01"]}}
有人成功地做过类似的事情吗?
{:x {:title "Week"
:timeUnit "yearmonthdate"
:field :WeekBeginning
:axis {:format "%b"
:labelAlign "left"
:labelExpr "datum.label[0]"
:timeUnit "month"
:tickCount 12}}
更新:我最终将线的
timeUnit
移至 "yearmonthdate"
,将轴的 timeUnit
移至 "month"
,并能够按照我想要的方式设置格式。