Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function setChartProps(options, lineData, dimensions) {
- const props = {};
- const rowsArray = [];
- for (let i = 0; i < lineData.columns.length; i += 1) {
- if (lineData.columns[i]) {
- rowsArray.push(`${lineData.columns[i]} -${i}`);
- }
- }
- props.xScale = scalePoint()
- .range([0, dimensions.width - (dimensions.margin.sides)])
- .align(1)
- .padding(0.25)
- .domain(rowsArray);
- props.yAxisRange = options.invertYAxis ?
- [dimensions.margin.top, dimensions.height] : [dimensions.height, dimensions.margin.top];
- props.yScale = scaleLinear()
- .rangeRound(props.yAxisRange)
- .domain([options.chartDomain.lowerLimit, options.chartDomain.upperLimit]);
- props.yScale.ticks(options.ticks);
- props.xAxis = axisBottom(props.xScale)
- .tickFormat(d => formatValue(d, options.xAxisFormat));
- props.yAxis = axisLeft(props.yScale)
- .tickValues(props.yScale.ticks(options.ticks))
- .tickFormat(d => formatValue(d, options.yAxisFormat));
- props.gridlines = axisLeft(props.yScale)
- .tickSize(-dimensions.width)
- .tickValues(props.yScale.ticks(options.ticks))
- .tickFormat('');
- if (options.lowerLimit || options.upperLimit) {
- props.yAxis.tickValues(options.chartDomain.ticks);
- props.gridlines.tickValues(options.chartDomain.ticks);
- }
- return props;
- }
- //translate code
- lineSvg.attr('width', dimensions.width)
- .attr('height', dimensions.height);
- const lineChart = lineSvg.append('g')
- .attr('transform', `translate( ${dimensions.margin.sides / 2} , ${-dimensions.margin.top / 2} )`);
- const xAxisGroup = lineChart.append('g')
- .attr('class', 'x-axis')
- .attr('transform', `translate( ${-dimensions.margin.sides}, ${dimensions.height} )`)
- .call(xAxis);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement