

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Plotly 面板
<a name="v9-panels-plotly"></a>

****  
本文件主題專為支援 Grafana **9.x 版的 Grafana** 工作區而設計。  
如需支援 Grafana 10.x 版的 Grafana 工作區，請參閱[使用 Grafana 第 10 版](using-grafana-v10.md)。  
如需支援 Grafana 8.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 8 版](using-grafana-v8.md)。

Plotly 面板使用 [Plotly 轉譯圖表，Plotly](https://plotly.com/javascript/) 是一種開放原始碼 Javascript 圖形庫。

**資料**、**配置**和**組態**欄位符合 [Plotly 文件](https://plotly.com/javascript/plotlyjs-function-reference/)中所述的常見參數。它們必須是 JSON 格式。

資料來源提供的資料可以透過使用者定義的指令碼進行轉換，之後才能注入圖表中。指令碼包含 2 個引數。
+ `data` – 資料來源傳回的資料。
+ `variables` – 在目前儀表板中包含 [Grafana 變數](templates-and-variables.md)的物件 （使用者變數和以下幾個全域變數：`__from`、`__interval`、 `__to`和 `__interval_ms`)。

指令碼必須傳回具有下列一或多個屬性的物件：`data`、 `layout``config`和 `frames`。下列是 範例。

```
let x  = data.series[0].fields[0].values.buffer
let y  = data.series[0].fields[1].values.buffer
let serie = {
    x : x,
    y : y,
    name : variables.project //where project is the name of a Grafana’s variable
}

return {
    data : [serie],
    config : {
    displayModeBar: false
    }
}
```

由指令碼傳回的物件和*資料*、*配置*和*組態*欄位中提供的 JSON 將會合併 （深度合併）。

如果未提供指令碼，面板只會使用*資料*、*配置*和*組態*欄位。