日付項目から時間に相当する部分を抽出したフィールドを持っておけば可能かと思います。
イメージとしてはこのようになります。
datetime | アクセス数 | 時(このフィールドを新設する) |
---|---|---|
2020/02/01 10:00:00 | 10 | 10 |
2020/02/01 11:00:00 | 20 | 11 |
2020/02/02 10:00:00 | 10 | 10 |
2020/02/02 11:00:00 | 20 | 11 |
新たに作成したフィールド(hourとします)を使えば、期待するような縦棒のグラフを作ることができるかと思います。
次に、hourフィールドをどう作るか、というところです。
データ投入時にhour部分を算出し、設定できるのが一番望ましいかと思います。
今回は便宜的に、日付・時間を格納した@timestampから、ScriptedFieldでhourというフィールドを作成し、そこに時間に相当する数値を入れました。
上のグラフは、そこで作成したhourフィールドをX軸で使っています。
Scripted Fieldの設定は以下のようにしました。
def dt = doc['@timestamp'].value;
//@timestampはUTCで入れたため、日本時間用にするため9時間プラスした
return dt.getHour() + 9;
過去類似の質問としては、こちらになるでしょうか。
ご参考になれば幸いです。