時間直交軸

時間スケールは、時間と日付を表示するために使用されます。目盛は、自動的にスケールの範囲で最も相応しい単位で作成されます。

データセット

入力データ

時間スケールを使用するとき、x軸のデータ点は、xまたはt属性を介して指定します。

data: [{
    x: new Date(),
    y: 1
}, {
    t: new Date(),
    y: 10
}]

日付形式

時間スケールのデータ指定について、Chart.jsはMoment.jsが受け取るすべての形式をサポートしています。詳細については、Moment.js docsを参照してください。

設定オプション

以下のオプションは時間スケールで使用することができます。 共通の目盛設定で提供されるオプションを設定することもできます。

Name Type Default Description
distribution String linear データのプロット方法。詳細...
bounds String data スケールの範囲を決定します。詳細...
ticks.source String auto 目盛の生成方法。詳細...
time.displayFormats Object 表示される時間単位を設定します。詳細...
time.isoWeekday Boolean false trueで単位が 'week'に設定されている場合、その週の最初の曜日は月曜日になります。それ以外の場合は、日曜日になります。
time.max Time 定義されている場合、これはデータの最大値を上書きします。
time.min Time 定義されている場合、これはデータの最小値を上書きします。
time.parser String/Function 日付用のカスタムパーサー。詳細...
time.round String false 定義されている場合は、日時はこの単位の先頭値に丸められます(切り捨てられます)。許可される単位については、以下の時間単位を参照してください。
time.tooltipFormat String ツールチップに使用するmoment.js形式の文字列です。
time.unit String false 定義されている場合、単位を特定の形式に強制します。詳細については、時間単位のセクションを参照してください。
time.stepSize Number 1 グリッド線間の単位の数。
time.minUnit String 'millisecond' 時間単位で使用される最小表示形式。

時間単位

次の時間単位がサポートされています。単位を指定する際には、これらの時間単位名を文字列としてtime.unit設定オプションに渡します。

  • millisecond
  • second
  • minute
  • hour
  • day
  • week
  • month
  • quarter
  • year

たとえば、時間スケールが月単位で表示されるチャートを作成するには、次のように設定します。

var chart = new Chart(ctx, {
    type: 'line',
    data: data,
    options: {
        scales: {
            xAxes: [{
                type: 'time',
                time: {
                    unit: 'month'
                }
            }]
        }
    }
})

表示形式

次の表示形式は、軸目盛の文字列表現を設定するために使用します。使用できる形式については、moment.jsを参照してください。

名前 初期値
millisecond 'h:mm:ss.SSS a' 11:20:01.123 AM
second 'h:mm:ss a' 11:20:01 AM
minute 'h:mm a' 11:20 AM
hour 'hA' 11AM
day 'MMM D' Sep 4
week 'll' Sep 4 2015
month 'MMM YYYY' Sep 2015
quarter '[Q]Q - YYYY' Q3 - 2015
year 'YYYY' 2015

たとえば、 'quarter'単位の表示形式において月と年を示すように設定するには、次の設定をチャートコンストラクタに渡します。

var chart = new Chart(ctx, {
    type: 'line',
    data: data,
    options: {
        scales: {
            xAxes: [{
                type: 'time',
                time: {
                    displayFormats: {
                        quarter: 'MMM YYYY'
                    }
                }
            }]
        }
    }
})

スケール分布

distributionプロパティは、スケールに沿ったデータ分布を制御します。

  • 'linear': データは時間に応じて分布します(距離は変化する可能性があります)。
  • 'series': データは互いに同じ距離に分布します。
var chart = new Chart(ctx, {
    type: 'line',
    data: data,
    options: {
        scales: {
            xAxes: [{
                type: 'time',
                distribution: 'series'
            }]
        }
    }
})

目盛範囲

boundsプロパティは、(min/max時間オプションが優先されますが)スケール境界を制御します。

  • 'data': データが全て表示されるようにし、その範囲に入らないラベルは表示されない。
  • 'ticks': 目盛が全て表示されるようにし、その範囲に入らないデータは表示されない。

目盛線の生成

ticks.sourceプロパティは目盛の生成を制御します。

  • 'auto': スケール範囲と時間設定に基づいて「最適な」目盛を生成します。
  • 'auto': スケール範囲と時間設定に基づいて「最適な」目盛を生成します。
  • 'data': データ({t|x|y}オブジェクトのラベルを含む)から目盛を生成します。
  • 'labels': ユーザーが渡したdata.labelsのみから目盛を生成します。

パーサー

このプロパティが文字列で定義されている場合は、文字列は moment.js のカスタム形式とみなされパースされます。

これが関数の場合は、適切なデータ値を指定してmoment.jsオブジェクトを返す必要があります。

results matching ""

    No results matching ""