だから私はこれを持っている...d3v4 +活字体+ angular2エラー
import { D3Service, D3, Selection } from 'd3-ng2-service';
interface ChartData {
q: number,
p: number
}
export class GraphComponent implements OnInit{
private d3;
private x1;
private y;
constructor(element: ElementRef, d3Service: D3Service) {
this.d3 = d3Service.getD3();
let d3 = this.d3;
this.y = d3.scaleLinear()
.domain([0,100])
.range([330, 20])
;
this.x1 = d3.scaleLinear()
.range([0, 100])
;
}
render() {
let y = this.y;
let x1 = this.x1;
let data = [{p:1,q:1}, {p:0.5,q:2}]
var line = d3.line()
.x((d: ChartData) => {return x1(d.q);})
.y((d: ChartData) => {return y(d.p);});
svg.append("path")
.data(data)
.attr("class", "line")
.attr("d", line);
}
}
私は、上のエラーを取得しています。 X(D:ChartData)と言っライン:
Argument of type '(d: ChartData) => any' is not assignable to parameter of type '(d: [number, number], index: number, data: [number, number][]) => number'. Types of parameters 'd' and 'd' are incompatible. Type '[number, number]' is not assignable to type 'ChartData'. Property 'q' is missing in type '[number, number]'.
私はその後、私はカスタムデータを持っているライン(データ)を介してライン()の中に私のデータを注入する必要があると述べているD3のドキュメント、見てください。その後、このエラーが発生し
var line = d3.line(data)
.x((d: ChartData) => {return x1(d.q);})
.y((d: ChartData) => {return y(d.p);});
...私はそうすることができるはずと言っD3のドキュメントにもかかわらず
ERROR in [default] file.ts:259:13 Supplied parameters do not match any signature of call target.
...
。だから私は何が間違っているの?
:デフォルトでコンパイルしようとしています
:私はあなただけのようなあなたが
d3.line
に渡しているものを活字体に伝えるために持っていると思います。 ts:259:13 指定されたパラメータがコールターゲットのシグネチャと一致しません。同じように。 –@JonThompson、私は構文をねじ込み、 'd3.line()' **ではない 'd3.line()' –
Mark
私はそのようなコードを持っているが、別のエラーが出る - エラー:(45、18)TS2345: 'Line'型の引数は、 'ValueFn '。 パラメータ 'data'と 'datum'の型は互換性がありません。 タイプ '{p:number; q:数; } 'は' ChartData [] '型に割り当てられません。 プロパティ 'includes'がタイプ '{p:number; q:数; } '。 –