Skip to main content
 首页 » 编程设计

Python并排matplotlib箱线图与颜色

2025年05月04日21zhujiabin

我遵循了这个 link 上的例子关于如何创建带颜色的箱线图。 我一直在尝试不同的方法来将这些箱线图分开在两个不同的位置,而不是它们都重叠但无济于事。如果我为它们指定不同的位置,它们将停留在 bp2 位置。如何将这两个箱线图并排放置?

import matplotlib.pyplot as plt 
 
def color_boxplot(data, color): 
   bp = boxplot(data, patch_artist=True,  showmeans=True) 
   for item in ['boxes', 'whiskers', 'fliers', 'medians', 'caps']: 
        plt.setp(bp[item], color=color) 
 
 
data1 = [1, 2, 3, 4, 5] 
data2 = [4, 5, 6, 7, 8] 
fig, ax = plt.subplots() 
bp1 = color_boxplot(data1, 'green') 
bp2 = color_boxplot(data2, 'red') 
plt.show() 

编辑:添加示例数据。

请您参考如下方法:

如何使用预制的 boxplot来自 seaborn?

import seaborn as sns 
sns.boxplot(data=[data1, data2]) 

如果您想手动选择颜色,可以使用 xkcd color list :

sns.boxplot( 
    data=[data1, data2], 
    palette=[sns.xkcd_rgb["pale red"], sns.xkcd_rgb["medium green"]], 
    showmeans=True, 
)