2016-12-15 5 views
2

私はd3 v4ゲージを作成しようとしていますが、ゲージの背景色が設定されていますが、値をハードコードしても針が表示されません。ゲージに針を追加するには?

ここで間違っていることはわかりません。 Plnkr:https://plnkr.co/edit/K9XdtwN2yhiTezuOwVpe?p=previewは、代わりにこの

var needle = svg.selectAll(".needle") 
    .data(0) 

needle.data(33) 
    .transition() 
    .ease(d3.easeElasticOut) 
    .duration(2000) 
    .attr("transform", function(d) { 
    // r = 180 * d/data[ 1 ] 
     r = 33; 
     return " translate(200,200) rotate(" + r + ")" 
    }); 
+0

あなたの質問は、あなたがこれをチェックアウトしていただけませんMYNに少し近いです:あなたはこのような変化を与えることができようにするには? https://stackoverflow.com/questions/46966889/adding-min-and-max-values-to-gauge-chart-in-d3-v4 – Praveen

答えて

3

が、それは次のようになります。

:あなたは針を作成するときに

var needle = svg.selectAll(".needle") 
    .data([0]) //should be in array 

次はあなたがそれをこのようなクラスを与える必要があります

var needle = svg.selectAll(".needle") 
    .data([0]) 
    .enter() 
    .append('line') 
    .attr("x1", 0) 
    .attr("x2", -78) 
    .attr("y1", 0) 
    .attr("y2", 0) 
    .classed("needle", true)//give it a class 
svg.selectAll(".needle").data([103]) 
     .transition() 
     .ease(d3.easeElasticOut) 
     .duration(2000) 
     .attr("transform", function(d) { 
      return "translate(200,200) rotate(" + d + ")" 
     }); 

作業コードhere

+0

私のアプリケーションでこのチャートを使用したい、チャートを理解しようとしていますが、最小値と最大値の間で針を表示するようなものです。私は針を60で表示したいと思います。minは40、maxは90です。私はそれを変更できる場所を指摘してください。データを含む現在の値と以前の値を変更しようとしましたが動作しません。 – Praveen

+0

SOの質問を最小限の検証可能なコードで行います。私は確かにあなたが助けを受ける – Cyril

関連する問題