如何在 matplotlib 中通过彩虹设置箱线图颜色

Nar*_*ang 2 plot colors matplotlib boxplot

我想创建数据箱线图进行比较,我的图看起来像

我的

我怎样才能添加颜色

彩虹

Y. *_*Luo 6

您可以按照此示例为框着色。除此之外,您还需要使用此模块将您的数据映射到“彩虹”颜色图上的颜色。这是一个带有随机测试数据的示例。在本例中,我用平均值映射颜色。

import matplotlib.pyplot as plt
import matplotlib.cm as cm
import numpy as np

# Random test data
test_data = [np.random.normal(mean, 1, 100) for mean in range(50)]

fig, axes = plt.subplots(figsize=(12, 16))

# Horizontal box plot
bplot = axes.boxplot(test_data,
                     vert=False,   # vertical box aligmnent
                     patch_artist=True)   # fill with color

# Fill with colors
cmap = cm.ScalarMappable(cmap='rainbow')
test_mean = [np.mean(x) for x in test_data]
for patch, color in zip(bplot['boxes'], cmap.to_rgba(test_mean)):
    patch.set_facecolor(color)

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述