如何在Holoviews中旋转一个元素

5
有没有一种方法可以在Holoviews内旋转图表90°?
我想知道如何通常地做到这一点,但我目前的目的是生成一个直方图,将频率放在水平轴上,关键值放在垂直轴上,以便与散点图并排布局。
使用.hist()命令可以很好地完成这个任务,不幸的是生成的对象(AdjointLayout)无法嵌套在HoloMap或GridSpace中,因此我只能自己动手。
import numpy as np
import holoviews as hv
hv.extension('bokeh')

data1=np.random.randn(1000)
data2=np.random.rand(1000)

dataDict1={1:hv.Scatter(data1)+hv.Histogram(np.histogram(data1),kdims=['y']),
           2:hv.Scatter(data2)+hv.Histogram(np.histogram(data2),kdims=['y'])}

dataDict2={1:hv.Scatter(data1).hist(), 2:hv.Scatter(data2).hist()}

hv.HoloMap(dataDict1).collate()  #yay!
hv.HoloMap(dataDict2).collate()  #TypeError: HoloMap does not accept AdjointLayout type, data elements have to be a ('ViewableElement', 'NdMapping', 'Layout').

我怀疑问题出在方括号中的%%opts.opts()绘图选项之一,但我找不到可用选项的文档(链接要么是损坏的broken,要么指向API指南的顶部top of the API guide,而我还没有找到正确的API部分)。
2个回答

6
%%opts Histogram [invert_axes=True]

invert_xaxis会翻转一个轴,而invert_axes则是交换x和y轴。

可以通过hv.help()机制更好地了解可用的选项。例如:hv.help(hv.Histogram)


0
为了在绘图和代码结构中拥有更多的控制权,您可以直接选择设置的选项:
#%%opts Bars [invert_axes=True]

import pandas as pd
import holoviews as hv
hv.extension('bokeh', 'matplotlib') # hv.notebook_extension('bokeh', 'matplotlib')

df = pd.DataFrame({'A': list(range(10,15)), 'B' : list(reversed(range(20,25)))})
hv.Bars(pd.melt(df.reset_index(), ['index']), ['index', 'variable'], 'value').opts(alpha= .7 ,  invert_axes= True, invert_yaxis= True,  )

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接