在反应项目中,我想使用一个纠结的树图,比如 - tangled-tree-visualization-ii
我该如何使用它?既然 D3 是开源库,那么上面的示例代码也是开源使用的吗?
我是 D3 的初学者。到目前为止,1. 安装了 D3 库npm install d3 --save
2. 创建了 D3 基本条形图以检查 d3 是否正常工作
而不是条形图想要使用上面共享的 tangled-tree-visualization。但它似乎使用 observablehq 生成的缩小的 runtime.js。
条形图.js
import React from 'react';
import * as d3 from 'd3';
import { Runtime, Inspector } from "@observablehq/runtime";
import define from "@nitaku/tangled-tree-visualization-ii";
class BarChart extends React.Component {
componentDidMount() {
this.drawChart();
}
drawChart() {
const data = this.props.data;
const svg = d3.select("body").append("svg")
.attr("width", this.props.width)
.attr("height", this.props.height);
const h = this.props.height;
svg.selectAll("rect")
.data(data)
.enter()
.append("rect")
.attr("x", (d, i) => i * 70)
.attr("y", (d, i) => h - 10 * d)
.attr("width", 65)
.attr("height", (d, i) => d * 10)
.attr("fill", "green")
svg.selectAll("text")
.data(data)
.enter()
.append("text")
.text((d) => d)
.attr("x", (d, i) => i * 70)
.attr("y", (d, i) => h - (10 * d) - 3)
//selection.attr(“property”, (d, i) => {})
}
render() {
return <div id={"#" + this.props.id}></div>
}
}
export default BarChart;
应用程序.js
import React from 'react';
import BarChart from './BarChart.js';
import './App.css';
class App extends React.Component {
state = {
data: [12, 5, 6, 6, 9, 10],
width: 700,
height: 500,
id: "root"
}
render() {
return (
<div className="App">
<BarChart data={this.state.data} width={this.state.width} height={this.state.height} />
</div>
);
}
}
export default App;