マルチラインチャートでは、各ラインの終わりに小さな円とd3.jsを使用したエンドポイントの値が必要です

スリラム

<!DOCTYPE html>
<meta charset="utf-8">
<style> /* set the CSS */

body { font: 12px Arial;}

path { 
    stroke: steelblue;
    stroke-width: 2;
    fill: none;
}

.axis path,
.axis line {
    fill: none;
    stroke: green;
    stroke-width: 1;
    shape-rendering: crispEdges;
}


</style>
<body>

<script src="d3.min.js"></script>
<script>

// Set the dimensions of the canvas / graph
var margin = {top: 30, right: 20, bottom: 30, left: 50},
    width = 600 - margin.left - margin.right,
    height = 270 - margin.top - margin.bottom;

var parseDate = d3.time.format("%Y-%m-%d").parse;
//2015-06-20
// Set the ranges
var x = d3.time.scale().range([0, width]);
var y = d3.scale.linear().range([height, 0]);

// Define the axes
var xAxis = d3.svg.axis().scale(x)
    .orient("bottom").ticks(10);

var yAxis = d3.svg.axis().scale(y)
    .orient("left").ticks(5);

// Define the line 
var priceline = d3.svg.line().interpolate("basis")
    .x(function(d) { console.log(d.T1); return x(d.T1); })
    .y(function(d) { return y(d.NATURE_QUERY); });
    
// Adds the svg canvas
var svg = d3.select("body")
    .append("svg")
        .attr("width", width + margin.left + margin.right)
        .attr("height", height + margin.top + margin.bottom)
    .append("g")
        .attr("transform", 
              "translate(" + margin.left + "," + margin.top + ")");

// Get the data
d3.csv("datatest.csv", function(error, data) {  
    data.forEach(function(d) {
      console.log(d.T1);
      d.T1 = parseDate(d.T1);
    }); 
    // Scale the range of the data
    x.domain(d3.extent(data, function(d) { return d.T1; }));
    y.domain([0, d3.max(data, function(d) { return d.NATURE_QUERY; })]); 

    // Nest the entries by symbol
    var dataNest = d3.nest()
        .key(function(d) {return d.CLOSING_DEPT;})
        .entries(data);
    console.log(dataNest);

    // Loop through each symbol / key
    dataNest.forEach(function(d) {
        svg.append("path")
            .attr("class", "line")
            .attr("d", priceline(d.values)); 

    });

    // Add the X Axis
    svg.append("g")
        .attr("class", "x axis")
        .attr("transform", "translate(0," + height + ")")
        .call(xAxis);

    // Add the Y Axis
    svg.append("g")
        .attr("class", "y axis")
        .call(yAxis);

});

</script>
</body>
これは私のコードですが、各行の終わりに終点の値と一緒に小さな円を描きたいです。ここにデータファイルを追加しますが、d3.jsは初めてなので、アイデアを提案してください。ありがとうございました

ここでtsvデータセットを見つけてください

シリル・チェリアン

あなたはこのようにそれを行うことができます:

 dataNest.forEach(function(d){
        //iterate over all the data for line to get the last point of a line.
        var k = d.values
        var last = k[k.length -1];//get the last value of the line
        svg.append("circle")
        .attr("cx", function(d){return x(last.T1);})//make a circle at the last point
        .attr("cy", function(d){return y(last.NATURE_QUERY);})
        .attr("r", 4);
        //make a text 
        svg.append("text")
        .attr("x", function(){return x(last.T1) + 20;})
        .attr("y", function(){return y(last.NATURE_QUERY);})
        .text(function(){return last.CLOSING_DEPT;})  //set the text you want to display.      
      })

ここでの作業コード

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

グループ化されたマルチラインチャートでポイントをドラッグするときにラインを更新する

分類Dev

マルチラインチャートd3jsでホバー時にすべてのy値を取得するためのより良い方法

分類Dev

呼び出しスレッドは、ライブチャートを使用する多くのUIコンポーネントで必要になるため、STAスレッドである必要があります。

分類Dev

D3.js - csv/tsv/json ファイルの代わりに、インライン JSON を D3 チャートのデータセットとして使用する方法

分類Dev

マルチブランチパイプラインでブランチが無効になり、スキャンイベントで再開されました

分類Dev

pipを使用してウォッチドッグをインストールしようとしたときに「エラー:終了ステータス1でコマンドがエラーになりました」を修正する方法

分類Dev

テンプレートのコンパイルエラー:コンポーネントテンプレートには、laravelを使用したvue.jsのテキストだけでなく、ルート要素が必要です

分類Dev

2つの入力パラメーターを使用してデータをフェッチするためのRESTエンドポイント-フェッチのタイプは明示的である必要がありますか、それとも暗黙的に決定する必要がありますか?

分類Dev

Vue.jsで、コンポーネントをインポートした後にエクスポートする必要があるのはなぜですか?

分類Dev

後で円とマルチラインをプロットするときに、プロット順序が尊重されないのはなぜですか?

分類Dev

クライアントモードを使用してprocess.clientをチェックしているにもかかわらず、Flickityなどの非vueパッケージをインポートすると、Nuxt.jsで「ウィンドウが定義されていません」というエラーが発生します

分類Dev

d3 + vx反応チャート曲線は各データポイントでフラット

分類Dev

各マーチャントにオンライン在庫システムのデータベースを割り当てるのは良いことですか?

分類Dev

ナビゲーションコンポーネントを使用してデータを渡す-ガイドが必要としないのに、コンストラクターの値が必要になるのはなぜですか?

分類Dev

新しいデータをインポートした後にのみ、各ループでオブジェクトが必要なエラーが発生する

分類Dev

go:双方向のときにエンドポイントがチャネルを閉じる必要があるチャネルはどれですか?

分類Dev

キャッチされないエラー:[$ injector:modulerr]次の理由により、モジュールのマッチポイントをインスタンス化できませんでした。

分類Dev

Pythonのコマンドプロンプトにsklearnをインストールすると、エラーが発生します:コマンドが終了ステータス1でエラーになりました:

分類Dev

vueとwebpackを使用してkeycloak-jsをインストールしようとしたときにキャッチされないタイプエラー:__ WEBPACK_IMPORTED_MODULE_3_keycloak_js__は関数ではありません

分類Dev

d3チャートライブラリでインタラクティブなボタンコントロールを配置する方法は?

分類Dev

iOSクライアントを使用したGoogleエンドポイント:ユーザーは毎回サインインする必要があります

分類Dev

Netsuiteエラー:2019.1 SOAPWebサービスエンドポイントでアカウント固有のドメインを使用する必要があります

分類Dev

データレンダリングのためにdc.jsをd3ホライズンチャートと統合する方法は?

分類Dev

メインクラスで使用するために作成したクラスをインポートする必要がないのはなぜですか?(Java)

分類Dev

gstreamerはマルチチャンネルwavファイルを別々のチャンネルに分割し、各チャンネルをmp3、alacなどとしてエンコードしてファイルに保存します

分類Dev

reactnativeを使用したポッドのインストールでエラーが発生します

分類Dev

デストラクチャリングを使用してreact-bootstrapをインポートすることが理想的でないのはなぜですか

分類Dev

D3.jsは、ネストされたデータを使用して各ポイントに円を描くことは可能ですか?

分類Dev

エンバーカナリア「キャッチされていないエラー:アサーションに失敗しました:この関係に追加できるのは「マイルストーン」レコードのみです」

Related 関連記事

  1. 1

    グループ化されたマルチラインチャートでポイントをドラッグするときにラインを更新する

  2. 2

    マルチラインチャートd3jsでホバー時にすべてのy値を取得するためのより良い方法

  3. 3

    呼び出しスレッドは、ライブチャートを使用する多くのUIコンポーネントで必要になるため、STAスレッドである必要があります。

  4. 4

    D3.js - csv/tsv/json ファイルの代わりに、インライン JSON を D3 チャートのデータセットとして使用する方法

  5. 5

    マルチブランチパイプラインでブランチが無効になり、スキャンイベントで再開されました

  6. 6

    pipを使用してウォッチドッグをインストールしようとしたときに「エラー:終了ステータス1でコマンドがエラーになりました」を修正する方法

  7. 7

    テンプレートのコンパイルエラー:コンポーネントテンプレートには、laravelを使用したvue.jsのテキストだけでなく、ルート要素が必要です

  8. 8

    2つの入力パラメーターを使用してデータをフェッチするためのRESTエンドポイント-フェッチのタイプは明示的である必要がありますか、それとも暗黙的に決定する必要がありますか?

  9. 9

    Vue.jsで、コンポーネントをインポートした後にエクスポートする必要があるのはなぜですか?

  10. 10

    後で円とマルチラインをプロットするときに、プロット順序が尊重されないのはなぜですか?

  11. 11

    クライアントモードを使用してprocess.clientをチェックしているにもかかわらず、Flickityなどの非vueパッケージをインポートすると、Nuxt.jsで「ウィンドウが定義されていません」というエラーが発生します

  12. 12

    d3 + vx反応チャート曲線は各データポイントでフラット

  13. 13

    各マーチャントにオンライン在庫システムのデータベースを割り当てるのは良いことですか?

  14. 14

    ナビゲーションコンポーネントを使用してデータを渡す-ガイドが必要としないのに、コンストラクターの値が必要になるのはなぜですか?

  15. 15

    新しいデータをインポートした後にのみ、各ループでオブジェクトが必要なエラーが発生する

  16. 16

    go:双方向のときにエンドポイントがチャネルを閉じる必要があるチャネルはどれですか?

  17. 17

    キャッチされないエラー:[$ injector:modulerr]次の理由により、モジュールのマッチポイントをインスタンス化できませんでした。

  18. 18

    Pythonのコマンドプロンプトにsklearnをインストールすると、エラーが発生します:コマンドが終了ステータス1でエラーになりました:

  19. 19

    vueとwebpackを使用してkeycloak-jsをインストールしようとしたときにキャッチされないタイプエラー:__ WEBPACK_IMPORTED_MODULE_3_keycloak_js__は関数ではありません

  20. 20

    d3チャートライブラリでインタラクティブなボタンコントロールを配置する方法は?

  21. 21

    iOSクライアントを使用したGoogleエンドポイント:ユーザーは毎回サインインする必要があります

  22. 22

    Netsuiteエラー:2019.1 SOAPWebサービスエンドポイントでアカウント固有のドメインを使用する必要があります

  23. 23

    データレンダリングのためにdc.jsをd3ホライズンチャートと統合する方法は?

  24. 24

    メインクラスで使用するために作成したクラスをインポートする必要がないのはなぜですか?(Java)

  25. 25

    gstreamerはマルチチャンネルwavファイルを別々のチャンネルに分割し、各チャンネルをmp3、alacなどとしてエンコードしてファイルに保存します

  26. 26

    reactnativeを使用したポッドのインストールでエラーが発生します

  27. 27

    デストラクチャリングを使用してreact-bootstrapをインポートすることが理想的でないのはなぜですか

  28. 28

    D3.jsは、ネストされたデータを使用して各ポイントに円を描くことは可能ですか?

  29. 29

    エンバーカナリア「キャッチされていないエラー:アサーションに失敗しました:この関係に追加できるのは「マイルストーン」レコードのみです」

ホットタグ

アーカイブ