Skip to content

Add value labels of your data to hvplot by using parameter instead of hv.Labels() #375

@SandervandenOord

Description

@SandervandenOord

If you want to add value labels to your data you have to overlay holoviews hv.Label() on your plot:

# 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

It would be nice if you could just use something like parameter

value_labels=True

to do this automagically right away with hvplot:

plot = df.hvplot(kind='bar', x='col1', y='col2', ylim=(0, 1.2), value_labels=True)

See also: https://stackoverflow.com/questions/58900736/adding-value-labels-to-hvplot-bar

If possible the default offset should also be a bit smart:

Screenshot 2019-11-17 at 16 24 49

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions