簡體   English   中英

seaborn 散點圖將氣泡大小縮放到更大的點

[英]seaborn scatterplot scale bubble size to larger dots

我正在關注這個 例子,我想創建更大的氣泡,但無論我將大小列乘以多大,它們仍然很小,是否有某種縮放因子可以調整? 我在文檔中找不到它。

import seaborn as sns; sns.set()
import matplotlib.pyplot as plt

tips = sns.load_dataset("tips")
ax = sns.scatterplot(x="total_bill", y="tip", data=tips)

cmap = sns.cubehelix_palette(dark=.3, light=.8, as_cmap=True)
ax = sns.scatterplot(x="total_bill", y="tip",
                     hue="size", size="size",
                     palette=cmap,
                     data=tips)

在此處輸入圖片說明

tips['size'] = 100 * tips['size']

ax = sns.scatterplot(x="total_bill", y="tip",
                     hue="size", size="size",
                     palette=cmap,
                     data=tips)

在此處輸入圖片說明

示例代碼在這里

顯然,您還需要使用sizes來實現指定的尺寸范圍。

minsize = min(tips['size'])
maxsize = max(tips['size'])
ax = sns.scatterplot(x="total_bill", y="tip",
                    hue="size", size="size", sizes=(minsize, maxsize),
                    palette=cmap,
                    data=tips)

在此處輸入圖片說明

感謝這個方法! 它很好用。 在使用大量數據設置大尺寸無花果時,我遇到了同樣的問題。 散布看起來太小了,我無法區分大小。 所以首先設置元組,將其注入 sns.scatter

順便說一句,使用這種方法,您可以使用乘法因子在 minsize 和 maxsize 上進行播放,而無需更改大小的實際數據以及圖例。 我必須將 minsize 和 maxsize 設為五次方以使其可讀! 太感謝了!

minsize = min(df['value']**5)
maxsize = max(df['value']**5)
fx= sns.scatterplot(x=df['this'], y=df['that'], data=df, hue=df['takeway'], size=df['value'], sizes=(minsize, maxsize), legend='brief')

暫無
暫無

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

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