首页 > 解决方案 > 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'])

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

在此处输入图像描述

标签: pythonpandasholoviewshvplot

解决方案


您可以通过设置颜色和 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 问题:
Holoviews color per category

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


推荐阅读