2015-01-10 68 views
8

私は、図形のBokehプロットを縦に積み重ねて&に整列させました。プロットを垂直に揃えたいので、y軸のラベルは水平ではなく垂直になるように回転します。Bokeh軸上でティック数を調整する方法(ラベルは小さな図形に重なっています)

特定のシナリオでは、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) 

ショート、軸上に配置されるラベルの#を示すための方法は何ですか?

これを指定する直接的な方法はまだありませんように見える生成されたラベルの#は10

答えて

4

のパワーにその親和性の観点から、データの範囲に関係しているようです。関連するissueに従ってください。

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') 

enter image description here

あなたはSingleIntervalTickerintervalパラメータでチケットの数を制御できます。これは、回避策です。

+0

実際、Figure/Layoutはデータのレンダリングとは別のジェネリッククラスで作成されるため、この時点ではこのトリックを使用するデータの実際の範囲を知る方法がありません。それは、可能な回避策を提示している、私は自分の状況で使用することはできませんので、答えとしてマークします。ありがとう –

7

desired_num_ticksプロパティで現在のダニの数を制御できます。 bokehのドキュメントhere(そしてこれはissue)の例を見てください。

たとえば、あなたの場合、plot.yaxis[0].ticker.desired_num_ticks = 10のようなものです。

+0

これはコメントであり、答えではありません。 – Alex

+0

私はあなたの答えを見直しました。あなたはあなたの答えをサポートし、もっと説明しなければなりません。 – Alex

+0

@alireza done ...ありがとう:) – Kevad

関連する問題