2017-06-07 12 views
0

このコードを使用して、複数行のxy散布図のツールチップをカスタマイズしています。どのように各シリーズが独自のラベルnameArr、nameArr1、nameArr2 ...を持つようにツールチップを修正するのですか? JSFiddlexyのカスタムツールチップxy

tooltip: { 
    format: { 
     title: function(x) { 
      var indOfVal = engagmentArr.indexOf(x); 
      return nameArr[indOfVal - 1] 
     }, 
     name:function(){ 
     return engagmentArr[0]; 
     } 
    }, 
}, 
+0

あなたはセットアップjsfiddleを喜ばまたはcodepen可能性を参照してください:

そしてグループIDデータインデックスによってそれらにアクセスしますか? –

+0

ここにjsfiddle url [jsfiddle](https://jsfiddle.net/laguna92651/t1aLbc0d/) – user8038235

答えて

0

一般的な解決策は、ドットチャート自体とは別にツールチップを保存することです。

var tooltips = { 
    mention1: ['ROA=5.1%','ROA=8.1%','ROA=4.1%','ROA=10.1%'], 
    mention2: ['ROA=5.1%','ROA=8.1%','ROA=4.1%','ROA=10.1%'], 
    mention3: ['2000 ROA=2.2%','2001 ROA=8.2%','2002 ROA=5.2%','2005 ROA=12.2%'], 
    mention4: ['2000 ROA=2.2%','2001 ROA=8.2%','2002 ROA=5.2%','2005 ROA=12.2%'] 
} 

var chart = c3.generate({ 
    data: { 
     xs: { 
      mention1: 'engagement1', 
      mention2: 'engagement2', 
      mention3: 'engagement3', 
      mention4: 'engagement4' 
     }, 

     columns: [ 
      ['engagement1', 140, 150, 157, 220], 
      ['mention1', 2237, 4456, 3300, 1453], 
      ['engagement2', 40, 50, 57, 120], 
      ['mention2', 2237, 4456, 3300, 1453], 
      ['engagement3', 150, 155, 165, 230], 
      ['mention3', 2037, 4756, 3100, 1053], 
      ['engagement4', 50, 55, 65, 130], 
      ['mention4', 2037, 4756, 3100, 1053] 
     ], 
     type: 'scatter' 
    }, 
    point: { 
     r: function(d) { 
      return d.value * 0.005; 
     }, 
    }, 
    tooltip: { 
     contents: function (d) { 
      var id = d[0].id;     // 'mention1', 'mention2' ... 
      var index = d[0].index;    // 1,2,3,4 ... 

      // replace plain data with custom markup or copy c3's default 
      return tooltips[id][index];   // 'ROA=...' 
     } 
    } 
}); 

fiddle

+0

ありがとう、ありがとう。私は言及を置き換えると、最初のデータセットは正常に動作します:変数** Data1 **、** Data2 **、** Data3 **でハードコードされたデータですが、 **、** Data5 **、** Data6 **、コードが壊れている、どんな考え? ** Data1 **変数は、Filemakerデータベースで生成されます。私は** Datan **の配置を表示するためにjsfiddleを更新しました。私がmention2だけを置き換え、ハードコーディングされた言葉を残しておけば、それはまだ壊れてしまいます。 – user8038235

+0

更新されたフィドルへのリンクはありますか?以前のリンクに古いコードが含まれているようです。 –

+0

[JSFiddle](https://jsfiddle.net/laguna92651/t1aLbc0d/)動作しない外部データソースがコメントアウトされました。ありがとうございます。 @ドミトリー – user8038235

関連する問題