有没有办法在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,要么指向top of the API guide而我没有找到正确的部分)。
发布于 2017-08-31 11:55:10
%%opts Histogram [invert_axes=True]invert_xaxis反转a轴,但invert_axes交换x和y轴。
通过hv.help()机制可以更好地记录可用的选项。即。hv.help(hv.Histogram)
发布于 2019-10-17 15:18:54
要在绘图和代码结构中有更多的控制,您可以直接在应该设置的位置设置选项:
#%%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, )https://stackoverflow.com/questions/45899869
复制相似问题