私はこのチャートに私が望む方法を表示させるために3日間努力してきました。グループ化された棒グラフの数値がオフになっていることがわかるまで、すべてが100%働いていました。C3.js時系列のコンビネーションチャート - ツールチップが機能しない
例:ボトムバーの値が10で、トップバーの値が20の場合、グループ化されたバーの上部が30です。これはデフォルトの動作ですが、データをどのように表現したいのですか。私は、グループ化されたバーの上端が最高の数字であれば何でも読んでほしいと思っています。ちょうど私が欲しかったデータを表すthis fiddleにつながります。
私のロジックをリファクタリングした後、thisは私がこれまで持っていたものです。あなたが見ることができるように、timeseries行は分割され、ツールチップはデータのグループを上に乗せてレンダリングしていません。
私の質問:すべての3つのデータポイントを(レンダリングするためにツールチップを取得する方法
1)数量、価格、検索)それは
を切断していないので、時系列ラインを固める方法2)
私はこの3日間の頭痛から移動することができますので、どんな助力も大変ありがとうございます!
以下は私のコードの大部分です。上記のjsfiddleリンクで入手できる簡潔さのためにJSON配列を除いています。あなたの時間のために事前にありがとうございます。
var chart = c3.generate({
bindto: '#chart',
data: {
x: 'x-axis',
type: 'bar',
json: json,
xFormat: '%Y-%m-%d',
keys: {
x: 'x-axis',
y: 'searches',
value: ['qty', 'searches', 'price']
},
types: {
searches: 'line'
},
groups: [
['qty', 'price']
],
axes: {
qty: 'y',
searches: 'y2'
},
names: {
qty: 'Quantity',
searches: 'Searches',
price: 'Price ($)'
},
colors: {
price: 'rgb(153, 153, 153)',
qty: 'rgb(217, 217, 217)',
searches: 'rgb(255, 127, 14)'
}
},
bar: {
width: {
ratio: 0.60
}
},
axis: {
x: {
type: 'timeseries',
label: { text: 'Timeline', position: 'outer-right' },
tick: {
format: '%Y-%m-%d'
}
},
y: {
type: 'bar',
label: {
text: 'Quantity/Price',
position: 'outer-middle'
}
},
y2: {
show: true,
label: {
text: 'Searches',
position: 'outer-middle'
}
}
},
tooltip: {
grouped: true,
contents: function(d, defaultTitleFormat, defaultValueFormat, color) {
var data = this.api.data.shown().map(function(series) {
var matchArr = series.values.filter(function(datum) {
return datum.value != undefined && datum.x === d[0].x;
});
if (matchArr.length > 0) {
matchArr[0].name = series.id;
return matchArr[0];
}
});
return this.getTooltipContent(data, defaultTitleFormat, defaultValueFormat, color);
}
}
});
うわー、男のロックは非常に近いです!私はconnectNullオプションが好きで、うまくいき、ツールチップが実際に表示されています!しかし、私は明確ではないことをお詫びしますが、ツールチップにnull値を返すことは望ましくありません。私は、フィルタメソッドの目的は、datum.xがd [0] .xと等しくない場合、データポイントを含まないことと同様にnull値を取り除くことであったと考えています。グラフのすべてのデータポイント)。理想的には、バー上にマウスを移動すると、その日の数量、価格、および検索がツールチップにグループ化されます。 – NightOwlPrgmr
私が見る唯一の方法は、jsonキーをユニークにすることです。更新を参照してください。 –
はい、私はもともとjsonを構造化していました。しかし、バーは正しく読み込まれません(IMO)。私はこれが「積み重なった」棒グラフのデフォルトの動作だと理解していますが、2つ(数量と価格)を「追加」することは望ましくありません。私はそれらにオーバーレイを並べ替えたいので、2017-07-17バーの明るい灰色のバーは100に、ダークグレーは211ではなく、111にする必要があります。これが可能かどうかはわかりませんが、それは私のOPにリンクされているフィドルのために働いていたので、私はそれを試してみると思った。これについての考えは? – NightOwlPrgmr