具有相同大小的bokeh网格图的几个问题

2022-04-07 00:00:00 python bokeh

问题描述

我设法使用gridplot在Bokeh中显示多个轴。但添加了色条和标签后,地块的大小就不一样了。其中一些很窄。我想让它们有相同的尺寸。我不确定是不是标签和色条的原因。

for comp in idxComps: #adding labels
       if comp % numCols == 0:
            fig[comp].yaxis.axis_label = axLabel[1]
        if comp >= (numRows-1) * numCols:
            fig[comp].xaxis.axis_label = axLabel[0]

fig[comp].image(image=[values[..., comp].transpose()],
                      x=lower[0], y=lower[1],
                      dw=(upper[0]-lower[0]), dh=(upper[1]-lower[1]),
                      palette="Inferno256")
mapper = LinearColorMapper(palette='Inferno256',
                           low=np.amin(values[...,comp]), 
                           high=np.amax(values[...,comp]))
color_bar = ColorBar(color_mapper=mapper, 
                     width=7, 
                     location=(0,0), 
                     formatter=BasicTickFormatter(precision=1), 
                     ticker=BasicTicker(desired_num_ticks=4), 
                     label_standoff=12, 
                     border_line_color=None) #adding a color bar

fig[comp].add_layout(color_bar, 'right')


gridplot(children=fig, toolbar_location=None, ncols=numCols, sizing_mode="scale_height", merge_tools=True)

解决方案

在Bokeh1.1或更高版本的最新版本中,可以将frame_widthframe_height值显式传递给figure以控制"内部"绘图区的尺寸。

相关文章