gpt4 book ai didi

python - 我如何根据 seaborn 的值更改 barplot 中每个条形图的不透明度?

转载 作者:行者123 更新时间:2023-12-05 02:47:31 24 4
gpt4 key购买 nike

我有一个这样的数据框,我在其中通过 seaborn 创建了条形图

sns.barplot(x='year', y='counts', data=df, color='red', alpha=df_alpha.alpha)
df.head()
    year    counts   alpha
0 2014 16908 1.000000
1 2015 14977 0.894269
2 2016 13626 0.820296
3 2013 12041 0.733510
4 2017 10980 0.675415

如何将 df 的 alpha 值设置为对应的 alpha 值?我通过 MinMaxScaler 创建了 alpha 值列并缩放了 (0.1,1) 之间的计数因此,最少计数栏的不透明度为 0.1,反之亦然。

最佳答案

要更改条形图的 alpha,您需要显式循环生成的条形图并更改它们的 alpha。为确保条形以与数据框中相同的顺序出现,应设置 order= 参数。

在下面的示例中,darkred 用于条形,以更好地查看 alpha 的差异。

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
from io import StringIO

df_str = ''' year counts alpha
0 2014 16908 1.000000
1 2015 14977 0.894269
2 2016 13626 0.820296
3 2013 12041 0.733510
4 2017 10980 0.675415'''

df = pd.read_csv(StringIO(df_str), delim_whitespace=True)
ax = sns.barplot(x='year', y='counts', data=df, color='darkred', order=df['year'])
for bar, alpha in zip(ax.containers[0], df['alpha']):
bar.set_alpha(alpha)
plt.show()

resulting plot

关于python - 我如何根据 seaborn 的值更改 barplot 中每个条形图的不透明度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64952137/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com