如何在 Python Plotly 中從 DataFrame 列新增多個文字標籤?


Plotly 是 Python 中一個開源繪相簿,可以生成多種不同型別的圖表。Python 使用者可以使用 Plotly 建立互動式網頁視覺化。

在本教程中,我們將瞭解如何使用 Plotly 從 DataFrame 列在圖表中新增多個文字標籤。

  • 在這裡,我們將使用 **plotly.graph_objects** 模組生成圖形。它包含許多自定義圖表並將其呈現為 HTML 格式的方法。

  • 然後,我們將使用該模組的 Scatter() 方法生成散點圖。Scatter() 的“line”屬性包含一個“color”引數,我們將使用它來指定繪圖所需的顏色。

  • 要生成 DataFrame,我們將使用 Pandas 模組。

請按照以下步驟從 DataFrame 列新增多個文字標籤。

步驟 1

匯入 plotly 模組並將其別名為 **py**。類似地,匯入 **pandas** 模組並將其別名為 **pd**。

import plotly as py
import pandas as pd

步驟 2

匯入 **plotly.graphs_objs** **模組**並將其別名為 go。

import plotly.graphs_objs as go

步驟 3

使用 Pandas 模組建立資料幀。

df = pd.DataFrame({
   'Age':[20,22,23,24,21],
   'Mark':[80,85,90,95,99],
},

步驟 4

設定索引名稱並根據“年齡”列對值進行排序。

# Set index name
df.index.name = 'DataFrame'

# Sort the values
df = df.sort_values('Age')

步驟 5

建立軌跡以生成散點圖並新增文字以顯示列上的懸停。

# Create traces to generate scatter plot
# Text to show hover on column
trace = go.Scatter(
   x = df.index,
   y = df['Mark'],
   name = 'Mark',
   text = df['Age'],
   mode = 'lines+markers',
   line = dict(color='green',width = 4)
)

步驟 6

使用 **dict** 中的 **title** 建立 **layout**,以便在 X 軸和 Y 軸上顯示多個文字標籤。

layout = dict(
   title = 'Multiple text labels',
   xaxis = dict(title = 'DataFrame'),
   yaxis = dict(title = 'Mark'),
)

步驟 7

使用佈局值生成圖形並建立離線繪圖。

data = [trace]
fig = dict(data=data, layout=layout)
py.offline.plot(fig, filename = 'df.html')

示例

以下是從 DataFrame 列新增多個文字標籤的完整程式碼:

import pandas as pd import plotly as py import plotly.graph_objs as go # Crete dataframe df = pd.DataFrame({ 'Age':[20,22,23,24,21], 'Mark':[80,85,90,95,99], }, index=['one','two','three','four','five']) # Set index name df.index.name = 'DataFrame' # Sort the values df = df.sort_values('Age') # Create traces to generate scatter plot # Text to show hover on column trace = go.Scatter( x = df.index, y = df['Mark'], name = 'Mark', text = df['Age'], mode = 'lines+markers', line = dict(color='green',width = 4) ) # Set layout title for X and Y axis layout = dict( title = 'Multiple text labels', xaxis = dict(title = 'DataFrame'), yaxis = dict(title = 'Mark'), ) # Create data data = [trace] # Set dict of dataset and layout fig = dict(data=data, layout=layout) # Generate html file py.offline.plot(fig, filename = 'df.html')

輸出

它將在瀏覽器上顯示以下輸出:


更新於: 2022-10-26

2K+ 次檢視

啟動你的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.