Ich versuche, den Monat und das Jahr Zecken von der x-Achse eines scaleTime zu entfernen, aber nicht wissen, ob es möglich ist:Anzeige nur wenige Tage auf scaleTime Zecken
Ich habe versucht, die Methode tickFormat zu verwenden, aber ich kann nicht auf die Monats- und Jahreswerte zugreifen. Ich erhalte nur die erwarteten Ergebnisse, indem ich die Skalierung auf eine lineare Skalierung umstelle und die Werte manuell formatiere.
Es ist möglich, das erwartete Ergebnis mit einer Zeitskala zu erhalten?
const margin = { top: 20, right: 20, bottom: 20, left: 20 };
const width = 1000 - margin.top - margin.bottom;
const height = 100 - margin.left - margin.right;
const totalWidth = width + margin.top + margin.bottom;
const totalHeight = height + margin.left + margin.right;
let svg = d3.select('.chart')
.append('svg')
.attr('width', totalWidth)
.attr('height', totalHeight)
.append('g')
.attr('transform', `translate(${margin.left},${margin.top})`);
let xScale = d3.scaleTime()
.rangeRound([0, width])
.domain([
new Date(1482883200000), // 2016-12-28
new Date(1485993600000) // 2017-02-02
]);
let xAxis = d3
.axisBottom(xScale);
svg.call(xAxis);
<script src="https://d3js.org/d3.v4.min.js"></script>
<div class="chart"></div>