gpt4 book ai didi

reactjs - 使用 D3.js (v4) 和 React.js 如何在简单的折线图上标记 Axis ?

转载 作者:行者123 更新时间:2023-12-03 13:38:23 25 4
gpt4 key购买 nike

我正在尝试使用 React 在 D3.js 上的折线图中添加标签。我编写了下面的代码,它将显示 Axis ,但文本节点不可见,但我可以在开发人员工具的 DOM 中看到它。

import React, { PropTypes, Component } from 'react';
import * as d3 from 'd3';

export default class Axis extends Component {
static propTypes= {
h: PropTypes.number.isRequired,
axis: PropTypes.func.isRequired,
axisType: PropTypes.oneOf(['x', 'y']).isRequired,
}

componentDidMount = () => { this.renderAxis(); }

componentDidUpdate = () => { this.renderAxis(); }

renderAxis = () => {
const node = this.axisRef;
d3.select(node).call(this.props.axis);
// const domain = d3.selectAll('path.domain');
const ticks = d3.selectAll('g.tick');
ticks.select('text').style('font-family', 'Poppins');
ticks.select('text').style('fill', 'black');
}

render() {
const translate = `translate(0,${(this.props.h)})`;

return (
<g
ref={(node) => { this.axisRef = node; }}
className="axis"
transform={this.props.axisType === 'x' ? translate : ''}
>
<text value={this.props.axisType === 'x' ? 'x axis' : 'y axis'}>Hello world</text>
</g>
);
}
}

最佳答案

请参阅此处的示例:https://bl.ocks.org/d3noob/23e42c8f67210ac6c678db2cd07a747e

 // Add the x Axis
svg.append("g")
.attr("transform", "translate(0," + height + ")")
.call(d3.axisBottom(x));

// text label for the x axis
svg.append("text")
.attr("transform",
"translate(" + (width/2) + " ," +
(height + margin.top + 20) + ")")
.style("text-anchor", "middle")
.text("Date");

这基本上会添加一个文本并将其放置在 x Axis 的中心,即宽度/2(总和与填充,如果有的话)

关于reactjs - 使用 D3.js (v4) 和 React.js 如何在简单的折线图上标记 Axis ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44902607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com