如何在Python中手動新增Plotly圖表圖例的顏色和字型大小?


本教程將解釋如何使用Python手動新增Plotly圖表中的圖例文字大小和顏色。在本教程結束時,您將能夠藉助強大的Python資料視覺化包Plotly建立互動式圖表。圖表開發必須包含一個圖例,以幫助檢視者理解資訊。但是,並非所有情況都適用於Plotly的預設圖例設定。本文將討論如何手動將圖例顏色和字型大小應用於Python中的Plotly圖表。

語法

可以使用Plotly的update_layout()方法以及legend_font_colorlegend_font_size引數手動新增圖例顏色和字型大小。下面提供了一個語法示例:

fig = px.scatter(df, x="x", y="y", size=None, color=None, hover_name=None, title='My title')

# Set legend color
fig.update_layout(legend_font_color=None)

# Set font size
fig.update_layout(legend_font_size=None)

給定的程式碼使用Plotly Express庫建立散點圖,其中x和y資料來自pandas DataFrame 'df'。散點圖沒有大小或顏色資訊,也沒有顯示懸停資訊。圖表的標題設定為“我的標題”。

然後使用fig.update_layout()方法更新px.scatter()函式建立的'fig'物件以修改圖表佈局。legend_font_color引數設定為None。同樣,legend_font_size引數也設定為None。

示例

在這個例子中,我們透過定義一個包含三個鍵的資料字典來建立我們自己的資料框:“考試1分數”、“考試2分數”和“性別”。使用NumPy為這些鍵分配隨機整數和字串值。然後,我們使用pd.DataFrame()方法從資料字典建立一個DataFrame。

然後使用px.scatter()方法建立散點圖。DataFrame中的“考試1分數”和“考試2分數”列分別用作x軸和y軸。“性別”列用於使用color引數根據顏色對圖中的標記進行顏色編碼。color_discrete_map字典用於將“性別”列中的“男”和“女”值分別對映到藍色和粉紅色。然後我們將圖表的標題設定為“按性別分的考試分數”。

最後,使用fig.update_layout()方法自定義圖表的圖例。將legend_font_color引數設定為'=red'以更改圖例文字的顏色,並將legend_font_size引數設定為14以增加圖例文字的字型大小。

然後使用fig.show()方法顯示圖表。

import plotly.express as px
import pandas as pd
import numpy as np

# create a sample dataset
data = {'Exam 1 Score': np.random.randint(50, 101, 50),
        'Exam 2 Score': np.random.randint(50, 101, 50),
        'Gender': np.random.choice(['Male', 'Female'], 50)}
df = pd.DataFrame(data)

# create a scatter plot with colored markers
fig = px.scatter(df, x='Exam 1 Score', y='Exam 2 Score', color='Gender', color_discrete_map={'Male': 'blue', 'Female': 'pink'}, title='Exam Scores by Gender')

# Set legend color to black
fig.update_layout(legend_font_color='red')

# Set legend font size to 14
fig.update_layout(legend_font_size=14)

# display the plot
fig.show()

輸出

示例

在這個例子中,我們首先使用px.data.tips()函式將tips資料集載入到Pandas DataFrame中。這使我們可以使用資料集中提供的資料來處理資料並生成視覺化效果。

要建立散點圖,使用Plotly Express的px.scatter()函式,並將資料集中的“total_bill”和“tip”列指定為圖表的x軸和y軸。“size”列指定為標記的大小,“color”列指定為根據付款人的性別對標記進行著色的變數。圖表的標題設定為“小費資料”。

建立圖表後,使用update_layout()方法自定義圖表佈局。特別是,legend_font_color引數設定為'green',legend_font_size引數設定為14。這些引數控制圖表上顯示的圖例的顏色和字型大小。

最後,使用Plotly的show()函式顯示圖表。生成的圖表顯示了餐廳顧客總賬單和消費金額之間的關係,標記大小由另一個變數確定,顏色由付款人的性別確定。圖例字型顏色設定為綠色,字型大小設定為14,以提高可讀性。

import plotly.express as px

# load tips dataset
df = px.data.tips()

# create a scatter plot with size-scaled markers
fig = px.scatter(df, x='total_bill', y='tip', size='size', color='sex', title='Tips Data')

# customize plot layout
fig.update_layout(legend_font_color='green', legend_font_size=14)

# display the plot
fig.show()

輸出

結論

因此,我們學習瞭如何在Python中手動新增Plotly圖表中的圖例顏色和圖例字型大小。在Plotly圖表中包含圖例是資料視覺化的重要組成部分。如果在某些情況下預設設定不足,則可能需要手動調整圖例顏色和文字大小。可以使用update_layout()方法設定legend_font_color和legend_font_size引數。透過遵循本教程中提供的示例,使用者可以修改他們的Plotly圖表以滿足他們自己的需求並提高視覺化的清晰度。

更新於:2023年5月12日

2K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始
廣告