首页 > 解决方案 > 向 hvplot.bar 添加值标签

问题描述

使用hvplot 教程,我们试图生成一个条形图,其值作为条形本身的标签。
使用以下代码生成条形图

import dask.dataframe as dd
import hvplot.pandas
df = dd.read_parquet('data/earthquakes.parq').persist()  
df.magType.value_counts().compute().to_frame().hvplot.bar()

在此处输入图像描述

我们如何在柱本身上添加柱的值?

标签: pythonholoviewshvplot

解决方案


使用 holoviews hv.Labels()为您的数据添加值标签。

您单独创建标签并使用 * 符号将标签覆盖在绘图上。

这是一个工作示例:

# import libraries
import numpy as np
import pandas as pd

import holoviews as hv
import hvplot.pandas

# create some sample data
df = pd.DataFrame({
    'col1': ['bar1', 'bar2', 'bar3'],
    'col2': np.random.rand(3)
})

# create your plot
plot = df.hvplot(kind='bar', x='col1', y='col2', ylim=(0, 1.2))

# create your labels separately
# kdims specifies the x and y position of your value label
# vdims specifies the column to use for the value text of your label
labels = hv.Labels(data=df, kdims=['col1', 'col2'], vdims='col2')

# use the * symbol to overlay your labels on your plot
plot * labels


最后结果:
在此处输入图像描述


推荐阅读