> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 折れ線グラフのリファレンス

> X 軸、Y 軸、スムージング、集約、グループ化のオプションを含むラインプロットパネルの設定リファレンスです。

このページでは、折れ線グラフの設定について詳しく説明します。折れ線グラフの操作については、[折れ線グラフの概要](/ja/products/wandb/app/features/panels/line-plot)を参照してください。

<h2 id="data-settings">
  データ設定
</h2>

データ設定では、プロットに表示するメトリクスと、データポイントのサンプリング、スムージング、集計方法を制御します。

<h3 id="x-axis">
  X軸
</h3>

<Frame>
  <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/_media/reference_x_axis.png?fit=max&auto=format&n=3Dv_sw2eg8feUJlx&q=85&s=8b318c629d149975c4b0b47e9766b24c" alt="X軸の選択" width="3705" height="1304" data-path="products/wandb/_media/reference_x_axis.png" />
</Frame>

X軸の範囲を、`wandb.Run.log()` でログした任意の整数値または浮動小数点値に設定します。

時間に基づくX軸のオプションは次のとおりです。

* **ステップ**: `wandb.Run.log()` が呼び出されるたびに増加します。モデルからログしたトレーニングステップ数を反映します。 (デフォルト)
* **相対時間 (実時間)**: プロセスの開始からの実経過時間です。run を開始し、1日間一時停止してから再開してログすると、そのポイントは24時間の位置に表示されます。
* **相対時間 (プロセス)**: プロセスが実行されていた時間です。run を開始して10秒間実行し、1日間一時停止してから再開すると、そのポイントは10秒の位置に表示されます。
* **実時間**: グラフ上の最初の run の開始からの経過時間 (分) です。
* **X軸の範囲**: デフォルトでは、X軸の最小値から最大値までです。最小値と最大値はカスタマイズできます。

<h3 id="y-axis">
  Y 軸
</h3>

Y 軸の変数を、`wandb.Run.log()` でログした任意の整数値または浮動小数点値に設定します。単一の値、値の配列、または値のヒストグラムを指定します。変数に対して 1,500 ポイントを超えるポイントをログした場合、W\&B はサンプリングして 1,500 ポイントに減らします。

<Note>
  run テーブルで run の色を変更することで、Y 軸の線の色をカスタマイズできます。
</Note>

**Y range** オプションのデフォルトは、メトリクスの最小の正の値 (0 を含む) からメトリクスの最大値までの範囲です。最小値と最大値はカスタマイズできます。

<h3 id="point-aggregation-method">
  Point aggregation method
</h3>

データポイントの表示に使用するサンプリングモードを選択します。

* **Full fidelity** (デフォルト) : [Full fidelity](/ja/products/wandb/app/features/panels/line-plot/sampling#full-fidelity) を参照してください。
* **Random sampling**: [Random sampling](/ja/products/wandb/app/features/panels/line-plot/sampling#random-sampling) を参照してください。

<h3 id="smoothing">
  スムージング
</h3>

[スムージング係数](/ja/support/models/articles/what-formula-do-you-use-for-your-smoothi)を 0 から 1 の間に設定します。0 はスムージングなし、1 は最大のスムージングを表します。

使用できるスムージング方法:

* **時間加重 EMA** (デフォルト): 過去のポイントの重みを指数関数的に減衰させることで時系列データをスムージングする、指数移動平均 (EMA) の手法です。
* **移動平均**: ポイントを、指定された x 値の前後のウィンドウ内にあるポイントの平均で置き換えます。
* **ガウシアン**: スムージングパラメーターで指定された標準偏差を持つガウス分布に従う重みを使用して、ポイントの加重平均を計算します。
* **スムージングなし**

詳細については、[折れ線グラフのスムージング](/ja/products/wandb/app/features/panels/line-plot/smoothing)を参照してください。

<h3 id="ignore-outliers">
  外れ値を無視
</h3>

プロットのスケールを調整し、デフォルトのプロットの最小値・最大値のスケールから外れ値を除外します。この設定の効果は、プロットのサンプリングモードによって異なります。

* **Random samplingモード**: 外れ値を無視すると、5%未満および95%を超えるポイントがプロットから除外されます。
* **フルフィデリティモード**: 外れ値を無視すると、すべてのポイントが各バケットの最後の値に集約されて表示され、5%未満および95%を超える領域に網掛けが適用されます。

<h3 id="max-runs-or-groups">
  最大 run 数またはグループ数
</h3>

デフォルトでは、プロットには run リストまたは run set 内の最初の 10 個の run または run のグループのみが表示されます。表示する run またはグループを指定するには、並べ替えの順序を変更してください。

<Note>
  Workspace で表示できる run は、設定にかかわらず最大 1,000 個です。
</Note>

<h3 id="run-grouping">
  run のグループ化
</h3>

run テーブルがグループ化されている場合、各折れ線グラフはグループ内の run を1本の線にまとめます。このグループ化をグラフに適用する方法を設定します。

* **Use grouping from the runs table in charts**: run テーブルのグループ化を折れ線グラフに適用します。デフォルトでオンになっています。オフにすると、run テーブルのグループ化の有無にかかわらず、各 run を個別に描画します。
* **Use only latest run per group**: グループ内の run をまとめる代わりに、各グループから1つの run を描画します。デフォルトでオフになっています。Workspaceレベルでのみ使用できます。
* **集約**: 各グループをまとめた線の値です。選択肢は **Mean**、**最小値**、**Max** です。**Use only latest run per group** がオンの場合は使用できません。

同じグループで実験を繰り返し実行する場合は、**Use only latest run per group** をオンにします。各チャートには最新の試行のみが表示され、以前の run は project に残ります。

グループ内の最新の run は、run selector でそのグループの先頭にある run です。各グループで別の run を描画するには、run テーブルの並べ替え順序を変更します。

<Note>
  **Use only latest run per group** は、**Point aggregation method** がデフォルトの **Full fidelity** の場合にのみ有効です。**Random sampling** モードでは効果がありません。
</Note>

<h3 id="chart-type">
  チャート タイプ
</h3>

グラフのスタイルを選択します。

* **折れ線グラフ**
  <Frame>
    <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/_media/plot_style_line_plot.png?fit=max&auto=format&n=3Dv_sw2eg8feUJlx&q=85&s=c0d5a6381150f36968f107a75587151a" alt="折れ線グラフのスタイル" width="964" height="435" data-path="products/wandb/_media/plot_style_line_plot.png" />
  </Frame>
* **面グラフ**
  <Frame>
    <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/_media/plot_style_area_plot.png?fit=max&auto=format&n=3Dv_sw2eg8feUJlx&q=85&s=205af049784864c9d7629676a5b365a3" alt="面グラフのスタイル" width="949" height="420" data-path="products/wandb/_media/plot_style_area_plot.png" />
  </Frame>
* **100% 積み上げ面グラフ**
  <Frame>
    <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/_media/plot_style_percentage_plot.png?fit=max&auto=format&n=3Dv_sw2eg8feUJlx&q=85&s=073f357b150018e0076bbafd82342ae8" alt="100% 積み上げ面グラフのスタイル" width="956" height="420" data-path="products/wandb/_media/plot_style_percentage_plot.png" />
  </Frame>

**Data** タブでチャート タイプを設定します。[個別の折れ線グラフ](/ja/products/wandb/app/features/panels/line-plot#individual-line-plot)を参照してください。

<h2 id="grouping-settings">
  グループ化の設定
</h2>

グループ化を有効にすることで全 run を集約するか、個別の変数でグループ化します。run テーブルでグループ化を有効にすると、グループは自動的にグラフに反映されます。

* **Group runs**: プロットで run のグループ化を有効にします。プロットのシェーディング範囲を設定するには必須です。run を 1 本の線に集約しないようにするには、これをオフにしてください。グループ化を有効にしたまま集約を無効にするための別スイッチはありません。
* **Group by**: オプションで列を選択します。その列で同じ値を持つ run はまとめてグループ化されます。
* **集約**: グラフ上の線の値です。グループの mean、median、min、max から選択できます。このコントロールは **Group runs** がオンの場合のみ適用されます。
* **Range**: full-fidelity 折れ線グラフのシェーディング領域を設定します。Min/Max、Std Dev、Std Err、または None を選択できます。

<h2 id="chart-settings">
  チャート設定
</h2>

タイトルと凡例の表示を設定します。

* **パネルタイトル**: パネルの上部に表示されるタイトルです。
* **X 軸タイトル**: X 軸のラベルです。
* **Y 軸タイトル**: Y 軸のラベルです。
* **凡例**: 凡例の表示・非表示を切り替え、その位置を設定します。

<h2 id="legend-settings">
  凡例の設定
</h2>

凡例をカスタマイズすると、ログした任意の設定値や、run の作成日時や作成したユーザーなどの run のメタデータを表示できます。

<h3 id="legend-template">
  凡例テンプレート
</h3>

凡例名のテンプレートを定義します。

1. 歯車アイコンをクリックして、プロットの設定を開きます。
2. **Display preferences**タブに移動します。
3. **Advanced legend**を展開し、凡例テンプレートを指定します。
4. **Apply**をクリックします。

<h3 id="point-specific-values">
  ポイント固有の値
</h3>

`[[ ]]` 内に値を設定すると、チャートにマウスポインターを合わせたときに、十字線にポイント固有の値が表示されます。

1. 歯車アイコンをクリックしてプロットの設定を開きます。
2. **Display preferences** タブに移動します。
3. タブの下部で、プロットのメトリクスを 1 つ以上選び、ポイント固有の値を設定します。
4. **Apply** をクリックします。

`[[ ]]` 内でサポートされる値:

| 値 | 意味 |
| - | - |
| `${x}` | X value |
| `${y}` | Y value (スムージング調整を含む) |
| `${original}` | スムージング調整を含まない Y value |
| `${mean}` | グループ化された run の平均 |
| `${stddev}` | グループ化された run の標準偏差 |
| `${min}` | グループ化された run の最小値 |
| `${max}` | グループ化された run の最大値 |
| `${percent}` | 全体に対するパーセンテージ (積み上げ面チャート用) |

<h2 id="expressions">
  式
</h2>

数式を作成して、ログしたメトリクス、設定値、サマリー統計から折れ線グラフを作成または変換します。たとえば、2 つのメトリクスの差を計算したり、設定値でメトリクスのスケールを変更したり、メトリクスの対数をプロットしたりできます。式は、ログする各ステップで評価されます。

以下のセクションでは、式で値を参照する方法と、カスタム式で使用できるオペレーターおよび関数について説明します。折れ線グラフでは、X 軸、Y 軸、または両方に式を使用できます。

一般的な使用例と式のサンプルについては、[式のサンプル](#example-expressions)を参照してください。

<h3 id="create-new-line-plots-with-expressions">
  式を使用して新しい折れ線グラフを作成する
</h3>

1. project の Workspace にアクセスします。
2. **+ Add panel** ボタンをクリックし、**折れ線グラフ** を選択します。
3. **Data** タブをクリックします。折れ線グラフにプロットするデータを、x 軸と y 軸それぞれについて選択します。
4. **式** タブをクリックします。
5. **Y 軸** フィールドまたは **X 軸** フィールドに式を入力します。
6. **Apply** をクリックして設定を保存し、折れ線グラフを表示します。

<h3 id="transform-existing-line-plots-with-expressions">
  式を使って既存の折れ線グラフを変換する
</h3>

1. 変換する折れ線グラフを開きます。
2. グラフの右上にある歯車アイコンをクリックして、パネルを編集します。
3. **式**タブをクリックします。
4. **Y 軸**フィールドまたは **X 軸**フィールドに式を入力します。
5. **Apply** をクリックして設定を保存し、更新された折れ線グラフを表示します。

<h3 id="referencing-values">
  値の参照
</h3>

次の表は、折れ線グラフの式でログしたメトリクス、設定パラメーター、サマリー統計を参照する方法を示しています。

| タイプ | 構文 | 説明 | サンプル |
| - | - | - | - |
| メトリクス | `${metric_name}` | ログしたメトリクスをメトリクス名で参照します。 | `${val/accuracy}`、`${"accuracy"}` |
| 設定パラメーター | `${config:param_name}` | `${config:}` 接頭辞を使用して設定値を参照します。 | `${config:lr}`、`${config:batch_size}` |
| サマリー統計 | `${summary:stat_name}` | `${summary:}` 接頭辞を使用してサマリーフィールドを参照します。 | `${summary:final_accuracy}`、`${summary:best_loss}` |

メトリクス名、設定パラメーター、サマリーフィールドに `/` や `-` などの特殊文字やスペースが含まれる場合は、`${...}` を使用してエスケープします。

たとえば、`val/accuracy` という名前のメトリクスをログした場合は、除算オペレーターと区別するために `${val/accuracy}` として参照します。`dropout-rate` という名前の設定パラメーターをログした場合は、`${config:dropout-rate}` として参照します。`best loss` という名前のサマリーフィールドをログした場合は、`${summary:best loss}` として参照します。

<h4 id="nested-configs">
  ネストされた設定
</h4>

ドット表記と次の構文を使用して、ネストされた設定値にアクセスします。

```javascript theme={"system"}
${config:parent.child.grandchild}
```

`parent`、`child`、`grandchild` は、ネストされた設定の辞書のキーです。

たとえば、以下のようなネストされた辞書を持つ設定をログするとします：

```python theme={"system"}
config = {
    "model": {
        "type": "resnet",
        "layers": 50
    },
    "training": {
        "batch_size": 32,
        "learning_rate": 0.001
    }
}

with wandb.init(project="my-project", config=config) as run:
    ...
```

モデルのタイプは `${config:model.type}` で参照できます。バッチサイズは `${config:training.batch_size}` で参照できます。

別の例として、辞書がネストされた次の設定を考えてみます。

```json Config parameters  theme={"system"}
config:
  optimizer:
    value:
      lr: 0.001
      weight_decay: 0.01
  model:
    value:
      hidden_size: 768
```

学習率は `${config:optimizer.value.lr}`、モデルの隠れ層のサイズは `${config:model.value.hidden_size}`、重み減衰は `${config:optimizer.value.weight_decay}` で参照します。

<h3 id="available-operators">
  利用可能なオペレーター
</h3>

W\&B は折れ線グラフの式で次のオペレーターをサポートします:

| カテゴリ | オペレーター |
| - | - |
| Arithmetic | `+`, `-`, `*`, `/`, `%` (modulo), `**` (exponent) |
| Comparison | `==`, `!=`, `===`, `!==`, `<`, `>`, `<=`, `>=` |
| Bitwise | `\|`, `^`, `&`, `<<`, `>>`, `>>>` |
| Logical | `\|\|` , `&&` |

<h3 id="math-constants-and-functions">
  数学定数と関数
</h3>

JavaScript のすべての数学関数と定数がサポートされています。詳細については、[MDN Math ドキュメント](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math)を参照してください。以下の表に、折れ線グラフの式でよく使用される関数と定数をまとめます。

<h4 id="math-constants">
  数学定数
</h4>

| 定数 | 説明 |
| - | - |
| `e` | ネイピア数 |
| `pi` | 円周率 |
| `ln2` | 2 の自然対数 |
| `ln10` | 10 の自然対数 |
| `log2e` | 2 を底とする e の対数 |
| `log10e` | 10 を底とする e の対数 |
| `sqrt2` | 2 の平方根 |
| `sqrt1_2` | 1/2 の平方根 |

<h4 id="arithmetic-and-statistical-functions">
  算術関数と統計関数
</h4>

次の表では、利用可能な算術関数と統計関数について説明します:

| 関数 | 説明 |
| - | - |
| abs(x) | 絶対値 |
| ceil(x) | 天井関数 (最も近い整数に切り上げ) |
| floor(x) | 床関数 (最も近い整数に切り下げ) |
| round(x) | 最も近い整数に丸める |
| min(x, y, ...) | 最小値 |
| max(x, y, ...) | 最大値 |
| sqrt(x) | 平方根 |

<h4 id="logarithmic-and-exponential-functions">
  対数関数と指数関数
</h4>

次の表では、利用可能な対数関数と指数関数について説明します。

| 関数 | 説明 |
| - | - |
| log(x) | 自然対数 (底 e) |
| log10(x) | 底が 10 の対数 |
| log2(x) | 底が 2 の対数 |
| exp(x) | 指数関数 (e^x) |
| pow(x, y) | べき乗関数 (x^y) |

<h4 id="trigonometric-functions">
  三角関数
</h4>

以下の表で、利用可能な三角関数について説明します。

| 関数 | 説明 |
| - | - |
| sin(x) | 正弦 |
| cos(x) | 余弦 |
| tan(x) | 正接 |
| asin(x) | アークサイン (逆正弦) |
| acos(x) | アークコサイン (逆余弦) |
| atan(x) | アークタンジェント (逆正接) |
| atan2(y, x) | 2引数のアークタンジェント |

<h4 id="hyperbolic-functions">
  双曲線関数
</h4>

次の表では、利用可能な双曲線関数について説明します。

| 関数 | 説明 |
| - | - |
| sinh(x) | 双曲線正弦 |
| cosh(x) | 双曲線余弦 |
| tanh(x) | 双曲線正接 |

<h3 id="example-expressions">
  式のサンプル
</h3>

以下は、折れ線グラフの軸に使用する式のサンプルです。これらのサンプルは説明を目的としています。前のセクションで説明したオペレーターと関数を任意に組み合わせて、ニーズに合った複雑な式を作成できます。

以下のサンプルでは、[サマリー メトリクス](/ja/products/wandb/track/log/log-summary#log-summary-metrics)に以下の値を持つ `accuracy` と `loss` が含まれていると仮定します:

```json Summary metrics theme={"system"}
{
  "accuracy": 0.7829240801794489,
  "loss": 0.2194763318905079
}
```

そして、設定が次のようになっているとします。

```json Config parameters theme={"system"}
config = {
    "epochs": 100,
    "optimizer": {
        "value": {
            "lr": 0.001,
            "weight_decay": 0.01
        }
    }
}
```

定数値を加算して、精度メトリクスを垂直方向にシフトします。次の例では、精度を 1 上にシフトします:

```javascript theme={"system"}
1 - accuracy
```

メトリクスを定数値 (この場合は学習率 (`lr`)) で垂直方向にシフトします。

```javascript theme={"system"}
accuracy+${config:optimizer.value.lr}
```

メトリクスの正弦を計算します。次の例では、損失メトリクスの正弦を計算します。

```javascript theme={"system"}
sin(loss)
```

正弦関数を適用してメトリクスの位相をシフトします。たとえば、正弦関数を適用して損失メトリクスの位相を 2 シフトします:

```javascript theme={"system"}
sin(loss - 2)
```

`batch_size` という名の設定パラメーターで精度メトリクスを再スケーリングします:

```javascript theme={"system"}
${accuracy} / ${config:batch_size}
```

2つのメトリクスの最小値を計算します。次の例では、損失と精度の最小値を計算します。

```javascript theme={"system"}
min(loss, accuracy)
```

2つのメトリクスの二乗和の平方根を計算します。次の例では、損失と精度の二乗和の平方根を計算します：

```javascript theme={"system"}
sqrt(loss ** 2 + accuracy ** 2)
```

損失の指数を計算します。次の例では、損失メトリクスの指数を計算します。

```javascript theme={"system"}
sqrt(loss*100)+sqrt(loss*100000)
```

<Note>
  式では `${summary:metric_name}` 構文を使用してサマリー メトリクスの値を参照することもできます。例:

  ```javascript theme={"system"}
  sqrt(${summary:loss}*100)+sqrt(${summary:loss}*100000)
  ```
</Note>

<h3 id="multi-metric-panel-expressions">
  複数メトリクスのパネルの式
</h3>

正規表現を使用して、複数のメトリクスをまとめて表示する単一の折れ線グラフを作成します (今後ログされる一致するメトリクスも含まれます) 。詳しい手順は、[折れ線グラフを追加する](/ja/products/wandb/app/features/panels/line-plot#multi-metric-line-plot)を参照してください。

例：

* 各層のメトリクス用に個別のパネルを作成する代わりに、単一のパネルにまとめて表示できます。たとえば、`layer_0_loss`、`layer_1_loss`、`layer_2_loss` のように一貫した命名規則でメトリクスをログする場合、`layer_\d+_loss` のような正規表現を使用して、すべての層の損失を1つのグラフに表示できます。
* 共通の命名パターンを持つすべてのメトリクスに一致させます。例：
  * `train_.*` は、`train_loss`、`train_accuracy`、`train_f1_score` などのすべてのトレーニングメトリクスに一致します
  * `.*_accuracy` は、`train_accuracy`、`val_accuracy`、`test_accuracy` など、異なるデータセットの精度メトリクスに一致します
* 選択を使用して、必要なメトリクスだけに一致させます。たとえば、非キャプチャグループ `(?:layer_0|layer_10)_loss` は、中間の層を除外して、最初と10番目の層の損失だけに一致します。

<h4 id="capture-groups">
  キャプチャグループ
</h4>

正規表現内のキャプチャグループは、複数メトリクスパネルの作成方法を制御します。この動作は、予期していない場合に混乱を招く可能性があります。

* **キャプチャグループは複数のパネルを作成します**
  正規表現にキャプチャグループを形成する括弧が含まれている場合、UI はそのグループによって取得された一意の値ごとに別のパネルを作成します。

  たとえば、式 `(layer_0|layer_10)_loss` にはキャプチャグループが含まれており、2 つの別のパネルを作成します。

  1. `layer_0` に一致するメトリクス用のパネル。
  2. `layer_10` に一致するメトリクス用のパネル。

* **非キャプチャグループはメトリクスを一緒に保持します**
  別のパネルを作成せずに複数の代替案に一致させるには、`?:` 構文を使用した非キャプチャグループを使用します。式 `(?:layer_0|layer_10)_loss` は前の例と同じメトリクスに一致しますが、単一のパネルにまとめて表示します。

違いは次のとおりです。

* `(layer_0|layer_10)_loss` - 各レイヤーごとに 2 つのパネルを作成します。
* `(?:layer_0|layer_10)_loss` - 両方のレイヤーをまとめて表示する 1 つのパネルを作成します。

これにより、分析のニーズに最適なアプローチを選択する柔軟性が得られます。メトリクスを別個のパネルに分離したい場合はキャプチャグループを使用します。単一のプロット上でメトリクスをまとめて比較したい場合は非キャプチャグループを使用します。
