d3円グラフにクロックポイントを追加する

ojsglobal

私はD3に非常に慣れていません-実際、私は昨日始めたばかりです-ここにドーナツ円グラフがあります:

var dataset = new Array();

dataset[0] = {"value":"50","color":"red"};
dataset[1] = {"value":"20","color":"blue"};

var pie = d3.layout.pie().sort(null).value(function(d){return d.value;});

    var h = w = 500;
    var center = w / 2;
    var outerRadius = ((h/2)-5);
    var innerRadius = outerRadius-10;
    var arc = d3.svg.arc()
        .innerRadius(innerRadius)
        .outerRadius(outerRadius);

    var arcOutter = d3.svg.arc()
        .innerRadius(outerRadius)
        .outerRadius(outerRadius + 1);

    var arcInner = d3.svg.arc()
        .innerRadius(innerRadius)
        .outerRadius(innerRadius - 1);


    //Create SVG element
    var svg = d3.select("body")
        .append("svg")
        .attr("width", w)
        .attr("height", h);

    //Set up groups
    var arcs = svg.selectAll("g.arc")
        .data(pie(dataset))
        .enter()
        .append("g")
        .attr("class", "arc")
        .attr("transform", "translate(" + center + ", " + center + ")");


    //Set up outter arc groups
    var outterArcs = svg.selectAll("g.outter-arc")
        .data(pie(dataset))
        .enter()
        .append("g")
        .attr("class", "outter-arc")
        .attr("transform", "translate(" + center + ", " + center + ")");

    //Set up outter arc groups
    var innerArcs = svg.selectAll("g.inner-arc")
        .data(pie(dataset))
        .enter()
        .append("g")
        .attr("class", "inner-arc")
        .attr("transform", "translate(" + center + ", " + center + ")");


    //Draw arc paths
    arcs.append("path")
        .attr("fill", function (d, i) 
        {
        return d.data.color;
    }).attr("d", arc);

    //Draw outter arc paths
    outterArcs.append("path")
        .attr("fill", 'green')
        .attr("d", arcOutter).style('stroke', 'white')
        .style('stroke-width', 0);

    //Draw inner arc paths
    innerArcs.append("path")
        .attr("fill", 'green')
        .attr("d", arcInner).style('stroke', 'white')
        .style('stroke-width', 0);

jsFiddleチャート

しかし、4つの時計ポイントとそのタイムテーブル(午前12時、午後3時、午後6時、午後9時)を追加するのに苦労しています。時計の例を検索してみましたが、それらはすべて、ポイントだけでなく、動作中の時計です。

私はそれをこのようにかなり見せたいです:

ここに画像の説明を入力してください

どんな助けでも大歓迎です。

ニコス

それがどれほど美的に正しいかはわかりませんが、ここにあります。あなたができることは、これらの場所であなたのチャートに4つの線分を追加することです:

[w / 2、0]、[w / 2、h]、[0、h / 2]、[w、h / 2]

次の行を追加すると、これを実現できます。

   var x=d3.scale.linear().domain([0,outerRadius]).range([0,w])
   var y=d3.scale.linear().domain([0,outerRadius]).range([h,0])

   svg.append('line').attr("x1",x(outerRadius/2)).attr("y1",0).attr("x2",x(outerRadius/2)).attr("y2",20)
   svg.append('line').attr("x1",x(outerRadius/2)).attr("y1",y(outerRadius)).attr("x2",x(outerRadius/2)).attr("y2",y(outerRadius)-20)

   svg.append('line').attr("x1",0).attr("y1",y(outerRadius/2)).attr("x2",20).attr("y2",y(outerRadius/2))
   svg.append('line').attr("x1",x(outerRadius)).attr("y1",y(outerRadius/2)).attr("x2",x(outerRadius)-20).attr("y2",y(outerRadius/2))

次の行が表示されるように、cssエントリを作成する必要があることに注意してください。

ライン{   
    表示ブロック;
    ストローク:黒;
}

JSFiddleはこちら

お役に立てれば

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

マウスオーバーイベントでd3円グラフにテキストを追加する

分類Dev

d3マウスイベント、クリック時に円を追加

分類Dev

d3円グラフをレスポンシブにする方法は?

分類Dev

ラベルに行を追加するD3円グラフのレイアウトについてサポートが必要

分類Dev

D3グラフ-パスにストロークを追加

分類Dev

ツールチップにリンクがあるd3円グラフ

分類Dev

FontAwesomeアイコンをD3グラフに追加する

分類Dev

クリックイベントでd3長方形にプログラムでアクセスする

分類Dev

リンクされたグラフィックをd3ジオプロットの固定位置に追加します

分類Dev

d3.jsインデックスによって、特定のポイントで折れ線グラフに垂直線を追加する

分類Dev

d3円グラフに素敵な凡例を追加する方法

分類Dev

NVD3円グラフの個々のスライスのクリックイベントを作成する

分類Dev

d3円グラフからカーソルポインタを削除する方法

分類Dev

プロット円グラフのhoverinfoに値を追加する

分類Dev

フロット棒グラフをプロットするためのAngularjsディレクティブにクリックイベントを追加する方法

分類Dev

d3は、円を追加するときに配列の最初のインデックスをスキップします

分類Dev

円グラフをスペクトル表示に変換するためのD3.jsメソッド

分類Dev

D3プロジェクションを使用してGeoJSONラインストリングをキャンバスにプロットします

分類Dev

d3 js円棒グラフ、.csvファイルの代わりにオブジェクトを渡す方法は?

分類Dev

ggplotのスタック折れ線グラフにポイントを追加する

分類Dev

Androidフラグメントに簡単なOK情報ダイアログボックスを追加する方法

分類Dev

3Dグラフのポイントでベクトルからテキストを追加します

分類Dev

d3グラフをdivに配置すると、その上のリンクがブロックされます

分類Dev

ポイントのクラスに基づいて3D密度プロットを作成する方法

分類Dev

d3折れ線グラフの最高値と最低値に円を追加する

分類Dev

Juliaにグラフ(ネットワーク)をインポートする

分類Dev

D3.js円グラフに凡例を追加する

分類Dev

インデックスなしで隣接するD3力グラフ(自己を含む)

分類Dev

ボタンクリックでスタイリングを動的に更新、D3棒グラフ

Related 関連記事

  1. 1

    マウスオーバーイベントでd3円グラフにテキストを追加する

  2. 2

    d3マウスイベント、クリック時に円を追加

  3. 3

    d3円グラフをレスポンシブにする方法は?

  4. 4

    ラベルに行を追加するD3円グラフのレイアウトについてサポートが必要

  5. 5

    D3グラフ-パスにストロークを追加

  6. 6

    ツールチップにリンクがあるd3円グラフ

  7. 7

    FontAwesomeアイコンをD3グラフに追加する

  8. 8

    クリックイベントでd3長方形にプログラムでアクセスする

  9. 9

    リンクされたグラフィックをd3ジオプロットの固定位置に追加します

  10. 10

    d3.jsインデックスによって、特定のポイントで折れ線グラフに垂直線を追加する

  11. 11

    d3円グラフに素敵な凡例を追加する方法

  12. 12

    NVD3円グラフの個々のスライスのクリックイベントを作成する

  13. 13

    d3円グラフからカーソルポインタを削除する方法

  14. 14

    プロット円グラフのhoverinfoに値を追加する

  15. 15

    フロット棒グラフをプロットするためのAngularjsディレクティブにクリックイベントを追加する方法

  16. 16

    d3は、円を追加するときに配列の最初のインデックスをスキップします

  17. 17

    円グラフをスペクトル表示に変換するためのD3.jsメソッド

  18. 18

    D3プロジェクションを使用してGeoJSONラインストリングをキャンバスにプロットします

  19. 19

    d3 js円棒グラフ、.csvファイルの代わりにオブジェクトを渡す方法は?

  20. 20

    ggplotのスタック折れ線グラフにポイントを追加する

  21. 21

    Androidフラグメントに簡単なOK情報ダイアログボックスを追加する方法

  22. 22

    3Dグラフのポイントでベクトルからテキストを追加します

  23. 23

    d3グラフをdivに配置すると、その上のリンクがブロックされます

  24. 24

    ポイントのクラスに基づいて3D密度プロットを作成する方法

  25. 25

    d3折れ線グラフの最高値と最低値に円を追加する

  26. 26

    Juliaにグラフ(ネットワーク)をインポートする

  27. 27

    D3.js円グラフに凡例を追加する

  28. 28

    インデックスなしで隣接するD3力グラフ(自己を含む)

  29. 29

    ボタンクリックでスタイリングを動的に更新、D3棒グラフ

ホットタグ

アーカイブ