首页 > 解决方案 > 全息视图/散景网格线问题

问题描述

我正在尝试使用全息视图制作热图(当前使用散景后端)。我有一个包含 3 列的数据框('dep_df'):X、Y、类型。X 和 Y 是维度标签,类型是分类变量 b/n 0 和 n(其中 n 是整数)。这是我的代码:

dep_hm = hv.HeatMap(dep_df[["X", "Y", "type"]], label="DEP population")
TOOLS = ['hover']
colors = palettes.d3['Category20b'][5]

%%opts HeatMap [width=300, height=300, xaxis=None, yaxis=None, show_grid=True]
grid_style = {'grid_line_color': 'white', 'grid_line_width': 1.5}
dep_hm.options(cmap=ListedColormap(colors), gridstyle=grid_style, tools=TOOLS, invert_axes=True)

该图在 Jupiter 笔记本中看起来是正确的,除了 ygrid 线不显示(仅 xgrid),并且它显示所有工具而不是我指定的“悬停”。即使确实显示了网格线,中间总是有一条丢失的网格线(即使在此热图的直接散景实现中也有这个问题。

另一个问题是我尝试使用 Bokeh.io 和 renderer.save() 将文件保存到 HTML,在这两种情况下,所有格式选项都没有执行(比如不显示轴、反转轴和不显示完整工具栏选项)。它似乎只是用默认选项保存情节。谢谢你的帮助。

标签: pythonbokehheatmapholoviews

解决方案


renderer.save() 不读取笔记本魔术,即%%opts HeatMap [width=300, height=300, xaxis=None, yaxis=None, show_grid=True]

你必须用your_variable.options(width=300, height=300, xaxis=None, yaxis=None, show_grid=True)它来使它粘住。见http://holoviews.org/user_guide/Customizing_Plots.html Simplified format

不过不确定你的其他问题。


推荐阅读