尝试使用'desired_num_ticks'时不显示散景图

时间:2019-05-31 16:12:44

标签: python bokeh

我正在尝试为正在处理的项目创建热图,但是x轴标签在当前状态下是完全不可读的。

热图图像-!(https://imgur.com/a/jn2oquK)。

我环顾四周,一种解决方案是使用Bokeh的'desired_num_ticks'函数,但是当我尝试实现此功能(可能不正确)时,该图将不再显示。

mapper = LinearColorMapper(palette=Magma256, high=df_complete.score.max(), low=df_complete.score.min())

TOOLS = "hover, save, pan, box_zoom, undo, redo, reset, wheel_zoom"

p = figure(title="Heatmap of Sites", x_range=Position, y_range=Values,
           x_axis_location="above", plot_width=900, plot_height=400,
           tools=TOOLS, toolbar_location='below',
           tooltips=[('Position','@Position'),('Score', '@score'), ('Sequence', '@Sequence')])

p.grid.grid_line_color = None
p.axis.axis_line_color = None
p.axis.major_tick_line_color = None
p.axis.major_label_text_font_size = "8pt"
p.axis.major_label_standoff = 0
p.xaxis.major_label_orientation = pi / 3
p.xaxis.ticker = ContinuousTicker(desired_num_ticks = 50) ###

p.rect(x="Position", y="Values", width=1, height=1,
       source=df_complete,
       fill_color={'field':'score', 'transform' : mapper},
       line_color=None)

color_bar = ColorBar(color_mapper=mapper, major_label_text_font_size="8pt",
                     ticker=BasicTicker(),
                     label_standoff=6, border_line_color=None, location=(0, 0))

p.add_layout(color_bar, 'right')
show(p)

因此,理想情况下,我将得到一个以一定容量可以读取x轴的图。谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您不能将ContinuousTicker用于类别范围,这就是为什么该图无法显示的原因,而不是desired_num_ticks设置。默认情况下,分类范围导致配置CategoricalTicker,并且它们始终显示范围定义的每个分类因子的刻度。 (通常来说,类别范围没有任何固有的顺序,因此没有“正确的”规则来显示除所有类别之外的任何内容。)

因此,您可能会做什么: