簡體   English   中英

Seaborn中基於色相參數的不同點大小

[英]Different point size based on hue argument in seaborn

我正在嘗試根據數據框“色相”列上的值在航海散點圖中使用不同的點大小。

sns.scatterplot(x="X", y="Y", data=df, hue='value',style='value')

value可以采用3個不同的值(0,1和2),我希望點值為2的點在圖表上更大。

我嘗試過sizes參數:sizes =(1,1,4)

但是無法通過這種方式完成。

讓我們使用s參數,並使用df ['value']函數傳遞尺寸列表以縮放點尺寸:

df = pd.DataFrame({'X':[1,2,3],'Y':[1,4,9],'value':[1,0,2]})

import seaborn as sns

_ = sns.scatterplot(x='X',y='Y', data=df, s=df['value']*50+10)

輸出: 在此處輸入圖片說明

使用seaborn的scatterplots參數:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame({'X':[1,2,3,4,5],'Y':[1,2,3,4,5],
                   'value':[1,1,0,2,2]})

df["size"] = np.where(df["value"] == 2, "Big", "Small")

sns.scatterplot(x="X", y="Y", hue='value', size="size",
                data=df, size_order=("Small", "Big"), sizes=(160, 40))

plt.show()

在此處輸入圖片說明

請注意,與size_order相比, sizes順序需要重新size_order 不過,我不知道為什么這樣做會有意義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM