棒グラフに条件付き書式を追加するときのTypeError / Undefined

TekiusFanatical

単純な棒グラフに条件付き書式を追加しようとしています。バーの1つにカーソルを合わせようとすると、次のエラーが発生するまで、部分的に機能しています。

TypeError: c[(this.position + "Field")] is undefined

内容data.csv

date,est_sleep,bool_field
2017-11-01,7.5,0
2017-10-31,8,0
2017-10-30,7,1

HTMLコード:

<div id="chartContainer">
  <script type="text/javascript">
    d3.csv("data.csv", function(data) {
        var svg = dimple.newSvg("#chartContainer", 500, 600);

        var myChart = new dimple.chart(svg, data);
        myChart.setBounds(60, 30, 400, 300)
        myChart.addCategoryAxis("x", "date");
        var y = myChart.addMeasureAxis("y", "est_sleep");
        var x = myChart.addSeries(null, dimple.plot.bar);
        x.addOrderRule("date", true);
        myChart.draw();

        svg.selectAll('rect')
        .data(data)
        .style("fill", function(d){
            if(d.bool_field == 1)
                return "#f00";
            else
                return "#99C1DC";
        })
        .style("stroke", function(d){
            if(d.bool_field == 1)
                return "#931D1D";
            else
                return "#98B5C9";
        });
    });
  </script>
</div>

現在の結果:

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

ミハイル・シャブリコフ

このエラーは、次の文字列が原因で表示されます。

...
svg.selectAll('rect')
  .data(data) // <== !!!
...

このライブラリが内部で設定するデータバインディングを書き換えているようです。私はdimple.jsを使用していませんでした。おそらく、より洗練されたソリューションが存在しますが、このソリューションを提案できます。

svg.selectAll('rect')
  .style("fill", function(d,i){
    if(data[i].bool_field == 1) // <== get data item by index
      return "#f00";
    else
      return "#99C1DC";
  })
  .style("stroke", function(d,i){
    if(data[i].bool_field == 1) // <== get data item by index
      return "#931D1D";
    else
      return "#98B5C9";
  });

.data()メソッドを使用せずに、インデックスごとに適切なデータ項目を取得できます以下の非表示のコードスニペットを見てください。機能します。

data = d3.csvParse(`date,est_sleep,bool_field
2017-11-01,7.5,0
2017-10-31,8,0
2017-10-30,7,1`);

var svg = window.dimple.newSvg("#chartContainer", 500, 600);

        var myChart = new dimple.chart(svg, data);
        myChart.setBounds(60, 30, 400, 300)
        myChart.addCategoryAxis("x", "date");
        var y = myChart.addMeasureAxis("y", "est_sleep");
        var x = myChart.addSeries(null, dimple.plot.bar);
        x.addOrderRule("date", true);
        
        myChart.draw();

        svg.selectAll('rect')
        .style("fill", function(d,i){
            if(data[i].bool_field == 1)
                return "#f00";
            else
                return "#99C1DC";
        })
        .style("stroke", function(d,i){
            if(data[i].bool_field == 1)
                return "#931D1D";
            else
                return "#98B5C9";
        });
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.11.0/d3.min.js"></script>
<div id="chartContainer"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dimple/2.3.0/dimple.latest.min.js"></script>

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

gatsbyjsでプログラムでページを作成するときに、「TypeError:undefinedのプロパティ 'node'を読み取れません」を修正する方法

分類Dev

「TypeError:undefined is not a object(evaluating'_expo.default.Font ')]」フォントを非同期でロードするときにこのエラーが発生する

分類Dev

Uncaught TypeError:Initialize()にGetJsonを追加すると、undefinedのプロパティ '__e3_'を読み取ることができません

分類Dev

ggplot2:色付きの棒グラフと凡例に異なるテクスチャを追加する

分類Dev

Uncaught(in promise)TypeError:undefinedのプロパティグラフィックを読み取ることができません

分類Dev

フォントの色を透明にする条件付き書式

分類Dev

セルの直接書式を上書きせずに、条件付き書式をセルに追加する方法

分類Dev

typeError _ref is undefined

分類Dev

TypeError: myObservableArray is undefined

分類Dev

TypeError: this is undefined on setstate reactjs

分類Dev

TypeError: this.AjaxPoller is undefined

分類Dev

Excelで数式をドラッグするのと同じように、条件付き書式を下にドラッグする方法は?

分類Dev

Uncaught TypeError:配列値を使用してjavascript変数を取得するときに、undefinedのプロパティ「1」を読み取ることができません

分類Dev

OpenOffice 3つ以上の条件付き書式を追加する方法は?

分類Dev

TypeError:node.jsのmongoでaggregateを実行しているときにundefinedのメソッド 'toArray'を呼び出すことができません

分類Dev

CSSのリストアイテムに条件付き書式を追加する方法

分類Dev

TypeError:undefinedのプロパティ 'undefined'を読み取ることができません

分類Dev

ボタン付きの並べ替え機能をMatplotlib棒グラフと折れ線グラフに追加する方法

分類Dev

配列を文字列に変換するときに、配列の「null」と「undefined」はどこに行きますか?

分類Dev

JavaScriptで、undefinedが上書きされていないと想定するのは本当に危険ですか?

分類Dev

影付きのターゲット領域をggplot2棒グラフに追加する

分類Dev

Uncaught TypeError:「in」演算子を使用して「undefined」の「position」を検索することはできません

分類Dev

Googleスプレッドシートのグループ化された行と条件付き書式に基づいて境界線を追加する

分類Dev

空のファイルをアップロードするときにundefinedのプロパティを読み取ることができません

分類Dev

Uncaught TypeError:$ .param()を使用してリーフレットデータをシリアル化するときに、undefinedのプロパティ 'lat'を読み取ることができません

分類Dev

Swiper: TypeError: Cannot read property 'push' of undefined or TypeError: classNames is undefined

分類Dev

マップ内のオブジェクトを返すときに「TypeError:undefinedのプロパティ 'slice'を読み取れません」を取得する

分類Dev

Epplusよりも少ない日付に条件付き書式を追加する方法

分類Dev

不和ボットの書き込み中に「TypeError:undefinedのプロパティ 'send'を読み取れません」

Related 関連記事

  1. 1

    gatsbyjsでプログラムでページを作成するときに、「TypeError:undefinedのプロパティ 'node'を読み取れません」を修正する方法

  2. 2

    「TypeError:undefined is not a object(evaluating'_expo.default.Font ')]」フォントを非同期でロードするときにこのエラーが発生する

  3. 3

    Uncaught TypeError:Initialize()にGetJsonを追加すると、undefinedのプロパティ '__e3_'を読み取ることができません

  4. 4

    ggplot2:色付きの棒グラフと凡例に異なるテクスチャを追加する

  5. 5

    Uncaught(in promise)TypeError:undefinedのプロパティグラフィックを読み取ることができません

  6. 6

    フォントの色を透明にする条件付き書式

  7. 7

    セルの直接書式を上書きせずに、条件付き書式をセルに追加する方法

  8. 8

    typeError _ref is undefined

  9. 9

    TypeError: myObservableArray is undefined

  10. 10

    TypeError: this is undefined on setstate reactjs

  11. 11

    TypeError: this.AjaxPoller is undefined

  12. 12

    Excelで数式をドラッグするのと同じように、条件付き書式を下にドラッグする方法は?

  13. 13

    Uncaught TypeError:配列値を使用してjavascript変数を取得するときに、undefinedのプロパティ「1」を読み取ることができません

  14. 14

    OpenOffice 3つ以上の条件付き書式を追加する方法は?

  15. 15

    TypeError:node.jsのmongoでaggregateを実行しているときにundefinedのメソッド 'toArray'を呼び出すことができません

  16. 16

    CSSのリストアイテムに条件付き書式を追加する方法

  17. 17

    TypeError:undefinedのプロパティ 'undefined'を読み取ることができません

  18. 18

    ボタン付きの並べ替え機能をMatplotlib棒グラフと折れ線グラフに追加する方法

  19. 19

    配列を文字列に変換するときに、配列の「null」と「undefined」はどこに行きますか?

  20. 20

    JavaScriptで、undefinedが上書きされていないと想定するのは本当に危険ですか?

  21. 21

    影付きのターゲット領域をggplot2棒グラフに追加する

  22. 22

    Uncaught TypeError:「in」演算子を使用して「undefined」の「position」を検索することはできません

  23. 23

    Googleスプレッドシートのグループ化された行と条件付き書式に基づいて境界線を追加する

  24. 24

    空のファイルをアップロードするときにundefinedのプロパティを読み取ることができません

  25. 25

    Uncaught TypeError:$ .param()を使用してリーフレットデータをシリアル化するときに、undefinedのプロパティ 'lat'を読み取ることができません

  26. 26

    Swiper: TypeError: Cannot read property 'push' of undefined or TypeError: classNames is undefined

  27. 27

    マップ内のオブジェクトを返すときに「TypeError:undefinedのプロパティ 'slice'を読み取れません」を取得する

  28. 28

    Epplusよりも少ない日付に条件付き書式を追加する方法

  29. 29

    不和ボットの書き込み中に「TypeError:undefinedのプロパティ 'send'を読み取れません」

ホットタグ

アーカイブ