如何调整Bokeh轴上的刻度#(标签在小图上重叠)

Jon*_*ore 14 python plot axis bokeh

我有一个垂直堆叠和对齐的数字的多图形散景图.因为我想垂直对齐图形,所以y轴标签旋转为垂直而不是水平.

在某些情况下,Bokeh产生太多的刻度,使得刻度标签完全重叠,使得难以辨认.这是一个例子:

import bokeh.plotting as bp
import numpy as np

y = np.random.uniform(0, 300, 50)
x = np.arange(len(y))

bp.output_file("/tmp/test.html", "test")
plot = bp.figure(plot_width=800, plot_height=200)
plot.yaxis.axis_label_text_font_size = "12pt"
plot.yaxis.major_label_orientation = 'vertical'

plot.line (x,y)
bp.show(plot)
Run Code Online (Sandbox Code Playgroud)

如果没有让渲染器足够聪明以自动生成更少的标签,是否有办法指示要放置在轴上的标签数量?

似乎生成的标签数量与数据的范围有关,就其与10的幂的亲和力而言.

Kev*_*vad 16

您现在可以使用desired_num_ticks属性控制刻度数.查看散景文档中的示例(以及此问题).

例如,在你的情况下,这样的事情:plot.yaxis[0].ticker.desired_num_ticks = 10.


ely*_*ase 7

看起来仍然没有直接的方法来指定它.请关注相关问题.这是一种解决方法:

from bokeh.models import SingleIntervalTicker, LinearAxis

plot = bp.figure(plot_width=800, plot_height=200, x_axis_type=None)
ticker = SingleIntervalTicker(interval=5, num_minor_ticks=10)
xaxis = LinearAxis(ticker=ticker)
plot.add_layout(xaxis, 'below')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

您可以通过interval参数in 控制票证数量SingleIntervalTicker.