我正在嘗試將 dayofweek 整數替換為其相應的名稱。

var y_label = [...new Set(data.map((item) => item.y))].sort(d3.descending); // [0 - 6]
// Build Y scales and axis:
const y = d3.scaleBand().range([height, 0]).domain(y_label).padding(0.01);
svg.append("g").call(d3.axisLeft(y));
現在我正在添加.tickFormat(d3.timeFormat("%A"))
var y_label = [...new Set(data.map((item) => item.y))].sort(d3.descending); // [0 - 6]
// Build Y scales and axis:
const y = d3.scaleBand().range([height, 0]).domain(y_label).padding(0.01);
svg.append("g").call(d3.axisLeft(y).tickFormat(d3.timeFormat("%A")));
我得到的是:

我什至不知道星期四是從哪里來的。如何修復我的代碼?
uj5u.com熱心網友回復:
當您Date從一個數字構造一個物件時,它會將值作為自 1970 年 1 月 1 日 00:00(星期四)以來的毫秒數。因此,從 0 到 6 的任何數字都被解釋為當天的開始。不要使用d3.timeFormat. 相反,只需定義:
const weekDays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
....call(d3.axisLeft(y).tickFormat(d => weekDays[d.y]);
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/427201.html
標籤:javascript 约会时间 d3.js 可视化 热图
上一篇:d3.jsUncaught(inpromise)TypeError:d3.forceSimulationisnotafunction
下一篇:資料未填充到d3
