Theom
1
Hi, I’ve come across this situation twice, where I want to know what options have been passed to an element’s opts.
Suppose I have the following:
scatter = hv.Scatter(df, ‘x’, ‘y’).opts(color=‘red’)
How can I know the value passed to the color option?
Another, more complex use case is if I have some style mapping based on one column:
scatter = hv.Scatter(df, ‘x’, ‘y’).opts(size=hv.dim(‘y’))
and elsewhere I would like to be able to retrieve the result of the operation applied to the ‘y’ dimension without having to compute it again.
Does anyone know if that is possible?
1 Like
Theom2
3
Thanks @carl. For me (with holoviews 1.15.1) this does print out the options in Jupyter or a console but returns None.
carl
4
Hi @Theom2,
So looks like info is to display but I think you can do something like
colour = scatter.options.get(‘color’)
Should return a string here
try typing scatter.options. now hit tab should show you some handy stuff
Hope it helps, Carl.
Theom
5
Thanks again @carl.
I get an error though. There is no get
method for me, neither with holoviews 1.15.1 nor 1.15.4.
Plus trying to see where I can go from .options
does not yield much that is interesting:

Jan
6
Try this (holoviews 1.15.1):
params = scatter.opts.get()
params.options['color']
This returns 'red'
2 Likes
Jan
7
With respect to that one:
This here works, but don’t ask me why.
params = scatter.opts.get()
params[0]['size']
returns the dim transform object:
dim('y')
2 Likes
Theom
8
Thanks @Jan, it works for me!
Actually I can also get the size option with params.options['size']
.
NB: What you get is not the computed result on the y dimension (i.e. not hv.dim('y').apply(dataset)
). But that’s already useful.
2 Likes
Jan
9
Strange. I get:
The options property may only be used with non-cyclic Options.
Not sure if you now have a newer version than 1.15.1 and that’s why it works for you?
Theom
10
Strange indeed! For me it works both with 1.15.1 and 1.15.4.

Jan
11
Okay. that works for me too. But here comes the crazy part:
If I do this, it works.
scatter = hv.Scatter(df1, 'x', 'y').opts(color='red',
size=hv.dim('y'))
params = scatter.opts.get()
params.options['size'] # output: dim('y')
If I remove the color='red'
, it doesn’t work:
scatter = hv.Scatter(df1, 'x', 'y').opts(size=hv.dim('y'))
params = scatter.opts.get()
params.options['size'] # error
Looks like a bug to me.
1 Like