【问题标题】:Holoviews Heatmap X-axis FormattingHoloviews 热图 X 轴格式
【发布时间】:2019-02-08 00:59:41
【问题描述】:

我目前正在从事一个使用全息视图的项目,我请求帮助。我正在创建一个热图,它绘制给定模拟轮次与模拟步骤的模型值。当只有少量回合或步骤时,热图看起来不错。但是,如果我增加轮数或步数,如下所示,轴会变得非常拥挤。有没有办法只在 X 轴或 Y 轴上显示几个刻度线(例如,下例中的 x 轴上只显示数字 0、15、30、45 和 60)?

Crowded x-axis due to too many steps in each simulation

我的代码如下:

#Generate a heatmap for each element
for element_key in loop_elements:
    heatData = []
    for i in range(runs):
        heatValues = plot_data[element_key][i]['y']
        for j in range(steps):
            heatElement = [(j, i, heatValues[j])]
            heatData += heatElement
    heatImage = hv.HeatMap(heatData, kdims=['x', 'y'], vdims=['z'])
    heatImage.opts(cmap=cmap, colorbar=True, title=element_key, xlabel="Simulation Step", ylabel="Simulation Round", toolbar=None, height=800, width=800)
    heatImage = heatImage.redim.range(z=(0,numStates-1))
    heatImage = heatImage.opts(xticks=5)
    hv.save(heatImage, os.path.join(outputFilepath, "HeatMap" + element_key + ".png"))` 

很遗憾,使用 .opts 指定 xticks 的数量无法正常工作。

【问题讨论】:

    标签: python heatmap holoviews


    【解决方案1】:

    这里有规则间隔的数字轴,因此您可以将hv.HeatMap 替换为hv.Imagehv.Image 将轴视为数值,因此可以跳过值,并且应该允许您控制 xticks。或者您可以使用 xrotation=90 旋转标签,使它们不会重叠。如果您的轴不规则间隔,您可以使用hv.QuadMesh

    【讨论】:

    • 谢谢。这很有帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 2018-07-18
    • 1970-01-01
    相关资源
    最近更新 更多