Holoviews:从分组条形图的 x 轴上删除变量名称

Ame*_*_90 5 python bar-chart bokeh holoviews hvplot

关于 HoloViews 分组(非堆叠)条形图的快速问题。如何删除 x 轴变量名称刻度,但将它们包含在图例中?

请参阅下面的示例:

没有图例和多余 xticks 的条形图

我想做以下事情:

  1. 对于红色框,删除刻度线“x”和“y”的名称
  2. 添加与各自颜色对齐的“x”和“y”图例。

代码如下:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
import holoviews as hv
pd.options.plotting.backend = 'holoviews'

df1 = pd.DataFrame({
    'x': np.random.rand(10), 
    'y': np.random.rand(10),
})

my_plot = df1.plot(kind='bar')
my_plot
Run Code Online (Sandbox Code Playgroud)

谢谢你!

San*_*ord 5

您可以在分组 barplot 上使用 .opts(multi_level=False)
这将删除辅助分类变量的 x 刻度,并向分组条形图添加图例。

但是,您需要 HoloViews >=1.13 为此。
在我撰写本文时,该版本尚不可用,但您可以通过以下方式安装它:

pip 安装 git+ https://github.com/holoviz/holoviews.git


代码示例:

import numpy as np
import pandas as pd
import holoviews as hv
pd.options.plotting.backend = 'holoviews'

df1 = pd.DataFrame({
    'x': np.random.rand(10), 
    'y': np.random.rand(10),
})

my_grouped_barplot = df1.plot(kind='bar')

# remove the 2nd categorical level with multi_level=False
# this will remove your x-ticks and add a legend
my_grouped_barplot.opts(multi_level=False)
Run Code Online (Sandbox Code Playgroud)


结果图:

添加了图例并删除了 xticks 的分组条形图