HighCharts-シリーズの日付をスキップします
-
28-09-2019 - |
質問
そこで、データベースからいくつかのデータを引いて、UNIXタイムスタンプと番号を取得しています。したがって、n(number)がd(日付)で販売されたとしましょう。
週末のように、行方不明の日があります。まだ1日を表示する必要がありますが、データは必要ありません。それはラインチャートです。
2010年4月1日、50が売却されました
2010年4月2日、53販売
2010年4月7日、10販売
(私は数年にわたる1,000を超える記録を持っています - ズームも追加します)
そのため、チャートには4月1〜7日にまだ表示されますが、3〜6のデータはありません。 (ラインは2〜7になります)。
これを行う方法についてのアイデアはありますか?
ありがとう、ジョシュ
解決
ここを見てください: http://highcharts.com/ref/#series 「データ」プロパティの2番目の例。
MySQL日付を変換し、UNIXタイムスタンプ(UNIX_TIMESTAMP())に変換してから、1000(JSにはマイクロ秒で時間が必要)を掛けるだけです。
他のヒント
チャートを作成するときにデータのx軸をスケーリングして、少なくとも1つの販売がある日のみをカウントし、軸が賢明にラベル付けされていることを確認してください。
これは、データセット全体を踏み出し、シーケンシャルな数値を確保することを意味します。したがって、それはひどく効率的ではなく、前処理のために確かに利益を得ることができます(「販売日」などのデータベースの別のキー)。
可能であれば、あなたは私にあなたのコードを見せてもらえますか。
このリンクがあなたにいくつかの助けを与えるかもしれません。指定された日付にnullを指定するデモ:http://jsfiddle.net/highcharts/fgrtd/
データを通常のYデータとしてプロットし、X軸でフォーマッタを使用できます
dates = ['April 1 2010', 'April 2 2010', 'April 7 2010'];
numSold = [50, 53, 10];
chart = new Highcharts.Chart({
series: [{
type: 'line',
data: numSold
}],
xAxis: {
labels: {
formatter: function() {
var dateStr = dates[this.value];
return dateStr;
}
}
}
});