カスタム複数行 プロット
wandb.plot.line_series()の使用法と実例
Created on February 19|Last edited on February 16
Comment
メソッド:wandb.plot.line_series()
W&Bでネイティブにカスタムラインシリーズプロットをログに記録します。
wandb.log({"my_custom_id" : wandb.plot.line_series(xs=[0, 1, 2, 3, 4],ys=[[10, 20, 30, 40, 50], [0.5, 11, 72, 3, 41]],keys=["metric Y", "metric Z"],title="Two Random Metrics",xname="x units")})
このカスタムチャートは、x-y軸の1つの共有セットに、複数行またはx-y座標ペアの複数の異なるリストをレンダリングします。デフォルト設定とランダムデータの2つの例を以下に示します。これらのグラフをパンおよびズームインして、細部を表示できます(たとえば、線が近すぎて区別できない場合)。
Random data sample
2
基本的な使用例
時系列のTensorFlowチュートリアルに従って、温度、気圧、湿度などの14の異なる機能の気象データセットを使用します。完全なデータの小さなサブセットが、climate_dataと呼ばれるPandasデータフレームに読み込まれます。
columns = ['T (degC)', 'p (mbar)', 'rho (g/m**3)']num_steps = 200xs = [ i for i in range(num_steps) ]ys= [ climate_data[c][:num_steps] for c in columns ]wandb.log({"weather_sample" : wandb.plot.line_series(xs=xs,ys=ys,keys=columns,title="Weather Metrics")})
x点とy点の数は正確に一致する必要があることに注意してください。複数のysリストに一致するxsの1つのリスト、またはysリストごとに個別のxsリストを指定できます。これらの気温/気圧/密度の測定が異なる時間に行われた場合、x値の3つの異なるリストを提供できます。ここで線系列プロットの完全な定義を参照してください。
従うべき手順:
- プロットする各線系列について、x値とy値、およびオプションで各系列の名前を見つけます
- 同じ順序を維持しながら、x値のリストをxsに、y値のリストをysに、オプションの名前をkeysに渡します。
- これらの引数をwandb.plot.line_series()(プロットタイトルとx軸タイトルはオプション)に渡して、指定されたキー(上記のweather_sample)の下にプロットを作成します。同じプロットで複数の実行を視覚化するには、このプロットキーを一定に保ちます。テーブル自体も、weather_sample_tableの下のワークスペースの[メディア]セクションに記録されることに注意してください
Sample time series data
1
カスタマイズされた使用法
Vega視覚化文法を使用して、線系列プロットを簡単にカスタマイズできます。ここでは、同じ軸のセットで複数のタイムスライスを比較して、データの分散をより適切に視覚化します。チャートの右上隅にカーソルを合わせて「目」アイコンをクリックすると、完全なVega仕様(各チャートの定義)を確認できます。
いくつかの簡単な変更:
- 色がメトリックキーに対応し、ストロークがログに記録されたタイムスライスに対応するように、行のラベルを切り替えます。strokeDashに"field": "name"が含まれ、colorに"field": "${field:lineKey}"が含まれるように、strokeDashとcolorの下のfield値を交換します。scaleエントリを削除します。
- メインのタイトル、凡例、および軸を編集して、よりわかりやすくします。encodingの下の関連フィールドに"title": "Your Title"を追加します。
Randomized time slices
3
その他の実例:さまざまなx値のログ
単純なケースでは、y値の複数のリストがx値の単一のリストにマップされます。ここでは、異なる周波数で3つの蒸気圧メトリックをサンプリングして、少し高度なケースを示します。y値の各リストに対応するx値のリストを渡します。また、x値を明確に区別するために、"type" : "line"を"type" : "point" に変更します。
グラフの下の行では、サンプルID(左下)とメトリックタイプ(右下)でデータを色付けした場合の視覚化の有効性/知覚的なグループ化の強さを比較できます。
Vapor pressure data
4
独自のカスタムチャートを作成するためのプリセット編集方法
- 既存のチャートタイプから開始します。カスタムチャート>鉛筆アイコン>左上の[編集]ボタンの右上隅にカーソルを合わせます。
- 右側のドロップダウンメニューにカスタムタイトルなどのテキストフィールドを選択的に入力します
- 変更に満足したら、後で再利用できるようにカスタムグラフの新しいコピーを保存します。左上の[名前を付けて保存]をクリックし、グラフの種類に新しい説明的な名前を付けます(ボーナスとして、後で参照しやすいように説明も編集してください)。これで、ユーザー/チームエンティティの下で再利用できるようになります。
変更されたVega仕様
このバージョンのラインシリーズ仕様は、実行ではなくメトリックによってラインに色を付け、特定のタイトルを含みます。
{"$schema": "https://vega.github.io/schema/vega-lite/v4.json","description": "A plot for an arbitrary number of lines","data": {"name": "wandb"},"title": "Climate Data Sample","layer": [{"selection": {"grid": {"type": "interval","bind": "scales"}},"mark": {"type": "line", "interpolate": "linear"},"encoding": {"x":{"field": "${field:step}","type": "quantitative","title": "Time step of measure"},"y": {"field": "${field:lineVal}","title": "Value in indicated units","type": "quantitative"},"color": {"type": "nominal","field": "${field:lineKey}","title" : "Units of measure"},"strokeDash": {"type": "nominal","field": "name","title" : "Sample id"}}}]}
Q & A
お読みいただきありがとうございました!これが、ユニークで説得力のあるカスタムチャートの作成に役立てれば何よりです。ご不明な点がございましたら、以下にコメントしてください!
Add a comment
Iterate on AI agents and models faster. Try Weights & Biases today.