hvplot.box 中的不同颜色

Different color in hvplot.box

以下代码生成链接图像。它主要生成我想要的内容,但我希望 Real 和 Preds 之间的框颜色不同。我如何使用 Holoviews 或 Hvplot 做到这一点?

import hvplot.pandas
import pandas as pd
import numpy as np



df = pd.DataFrame(np.random.randn(20), columns=['Value'])
df['Source'] = ['Preds'] *10 +['Real'] * 10
df['Item'] = ['item1'] *5 + ['item2']*5 + ['item1'] *5 + ['item2']*5
df.hvplot.box(y='Value', by=['Item', 'Source'])

我希望这张图片的第一张图采用第二张图的风格

您可以通过设置颜色和 cmap 参数来实现:

df.hvplot.box(
    y='Value',
    by=['Item', 'Source'],
    color='Source',
    cmap=['blue', 'orange'],
    legend=False,
)

或者通过设置.opts(box_color):

df.hvplot.box(
    y='Value',
    by=['Item', 'Source'],
    legend=False,
).opts(
    box_color='Source',
    cmap='Category20',
)

另见这个 SO 问题:

有关为地块选择特定颜色的更多信息:
http://holoviews.org/user_guide/Styling_Plots.html
http://holoviews.org/user_guide/Colormaps.html