Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  1. function setChartProps(options, lineData, dimensions) {
  2. const props = {};
  3. const rowsArray = [];
  4. for (let i = 0; i < lineData.columns.length; i += 1) {
  5. if (lineData.columns[i]) {
  6. rowsArray.push(`${lineData.columns[i]} -${i}`);
  7. }
  8. }
  9. props.xScale = scalePoint()
  10. .range([0, dimensions.width - (dimensions.margin.sides)])
  11. .align(1)
  12. .padding(0.25)
  13. .domain(rowsArray);
  14. props.yAxisRange = options.invertYAxis ?
  15. [dimensions.margin.top, dimensions.height] : [dimensions.height, dimensions.margin.top];
  16. props.yScale = scaleLinear()
  17. .rangeRound(props.yAxisRange)
  18. .domain([options.chartDomain.lowerLimit, options.chartDomain.upperLimit]);
  19. props.yScale.ticks(options.ticks);
  20. props.xAxis = axisBottom(props.xScale)
  21. .tickFormat(d => formatValue(d, options.xAxisFormat));
  22. props.yAxis = axisLeft(props.yScale)
  23. .tickValues(props.yScale.ticks(options.ticks))
  24. .tickFormat(d => formatValue(d, options.yAxisFormat));
  25. props.gridlines = axisLeft(props.yScale)
  26. .tickSize(-dimensions.width)
  27. .tickValues(props.yScale.ticks(options.ticks))
  28. .tickFormat('');
  29. if (options.lowerLimit || options.upperLimit) {
  30. props.yAxis.tickValues(options.chartDomain.ticks);
  31. props.gridlines.tickValues(options.chartDomain.ticks);
  32. }
  33. return props;
  34. }
  35.  
  36. //translate code
  37.  
  38. lineSvg.attr('width', dimensions.width)
  39. .attr('height', dimensions.height);
  40. const lineChart = lineSvg.append('g')
  41. .attr('transform', `translate( ${dimensions.margin.sides / 2} , ${-dimensions.margin.top / 2} )`);
  42. const xAxisGroup = lineChart.append('g')
  43. .attr('class', 'x-axis')
  44. .attr('transform', `translate( ${-dimensions.margin.sides}, ${dimensions.height} )`)
  45. .call(xAxis);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement