2017-06-14 13 views
1

私はc3.jsを使っていくつかの時系列データをプロットしています。ループする必要がないときに何らかの理由でループを行っているプロットがループしています。ここでc3.jsスプラインの時系列グラフが後ろに行く

は、私たちはそれが何のポイントが後方に存在しないにもかかわらず、下位ループていることがわかりますそれらのひとつを詳しく見てみる enter image description here

をプロットしていプロットのすべての5の図です。

enter image description here

私はそれが理由フィッティングアルゴリズムである知っているが、私はそれを修正する方法がわからないです。私は、データとスプラインの設定だけでなく、c3に他の設定を使用していません。

問題を再現し、自分のために参照するには、this pageを試し、そして次でスニペットを置き換えることができます。

var chart = c3.generate({ 
    data: { 
     columns: [ 
      ['X', 1, 2, 3.9, 4, 5, 6], 
      ['data1', 30, 200, 100, 400, 15, 250], 
      ['data2', 130, 100, 140, 200, 150, 50] 
     ], 
     x: 'X', 
     type: 'spline' 
    } 
}); 
+0

私は[mcve] –

+0

を参照する必要があると思います。投稿で私は追加の設定なしで基本的なプロットを使用しています。だからここに私のコード:http://c3js.org/samples/chart_spline.html – sookool99

+0

ジョーのランダムヘルパーがそのリンクを訪問する場合、あなたが見ているものを見るためにスニペットで何をする必要がありますか? –

答えて

0

私は昨日、私は疑問に、具体的な例を追加しました、この質問は興味深い見つけ、 2つの連続点がX軸上で非常に接近している問題を再現し、c3が「後退」するスプラインを生成するようにトリガします。

スプライン補間はd3に委任し、cardinalタイプデフォルトが、それはそうのようなC3に変更することができますされています'linear', 'linear-closed', 'basis', 'basis-open', 'basis-closed', 'bundle', 'cardinal', 'cardinal-open', 'cardinal-closed', 'monotone'

var chart = c3.generate({ 
    data: { 
     columns: [ 
      ['X', 1, 2, 3.9, 4, 5, 6], 
      ['dataA', 30, 200, 100, 401, 15, 250], 
      ['dataB', 130, 100, 140, 200, 150, 50] 
     ], 
     x: 'X', 
     type: 'spline' 
    }, 
    spline: { 
     interpolation: { 
      type: 'basis' 
     } 
    } 
}); 

は、他のオプションについてthis pageを参照してください。 d3

、X軸上の単調されているスプラインを得るために、あなたは、あなたが必要とするX軸に近い点のために(0.71.0し、デフォルトに0.0から行くことができtensionパラメータ、一緒にプレイする必要があります高い値は1.0に近い)。 this fiddleを参照してください。.tension(0.3)で遊んでください。曲線がどのように変化するかをご覧ください。

残念ながら、それはc3に公開されていないようです。それは彼らのGitHubに示唆する有効な問題かもしれません。しかし、あなたのデータがX軸(例のような)に変化するステップを持っていれば、非定数のtensionが必要で、私の知る限りカスタム補間関数でしか実装できないので、それほど簡単ではありません。 d3(c3でさらされることはまずありません)

関連する問題